title: origine record maschera

text:
"negrinelliwalter" <
negrinel...@yahoo.it
> ha scritto nel messaggio
news:4d95d2d3$0$38651$4faf...@reader1.news.tin.it...
>> Il 01/04/2011 14.38, negrinelliwalter ha scritto:
>>>> Buongiorno a tutti
>>>> vorrei creare una maschera che in apertura cambi l'origine dati
>>>
>>>> per selezionare la tabella corretta vorrei creare una casella di
>>>> riepilogo
>>>> che mi faccia vedere tutti i nomi delle tabelle collegate al db e poi
>>>> con
>>>> un  click mi si apra la maschera in visualizzazione foglio dati.
>>>
>>> Ho risolto la parte della casella di riepilogo con questo codice sql
>>> SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects
>>> WHERE(((MSysObjects.Type)=6));
>>> ora mi manca il resto ossia in modificare l'origine dati a una maschera
>>> posso sull'evento dopo aggiornamento della casella di riepilogo
>>> impostare in
>>> una variabile il nome della tabella e nell'evento di apertura della
>>> maschera
>>> trovare il nome della tabella dalla variabile ma per impostare questo
>>> nome
>>> nell'orgine e per gestire i campi non ne ho idea
>>>
>>>
>>>> altro problema è che le varie tabelle hanno un numero di campi diverso
>>>> come mi dovrei comportora in questo caso?
>>>> grazie
>>
>> docmd.opentable/openquery
>
> però così come posso fare per ordinare i dati AZ o ZA con il run time di
> access?
> grazie
tornando alla gestione record nella maschera ho trovato questo metodo
Nella Proprietà TAG metti: Nome/Denominazione
Ora in base alla condizione con la quale modifichi il RecordSource assegni
un'indice ad una Variabile ...
Codice:
' Su Load della Form
Dim mIndex As Integer
Dim mOrigine As String
If Condizione=A Then
   mIndex=0
   mOrigine =XXX
Else
   mIndex=1
   mOrigine =ZZZ
End If
Call RiassegnaOrigine(mIndex)
Me.RecordSource=mOrigine
Ora scrivi la Routine che Riassegna il ControlSource
Codice:
Sub RiassegnaOrigine(Indice as Integer)
Dim ctl As Access.Control
Dim varTAG as Variant
For Each ctl in Me.Controls
   If Len(ctl.TAG)>0 Then
      varTAG=Split(ctl.TAG,"/")
      ctl.Controlsource=varTAG(Indice)
   End If
Next
endsub
il problema ora è che ho 50 campi e l'origine da 20 tabelle e non voglio
scrivere 20 capi in ogni tag per 50 volte
esiste un comando per ciclare i campi nella tabella collegata


title: origine record maschera

author: negrinelliwalter

text:
>> Buongiorno a tutti
>> vorrei creare una maschera che in apertura cambi l'origine dati
>
>> per selezionare la tabella corretta vorrei creare una casella di
>> riepilogo che mi faccia vedere tutti i nomi delle tabelle collegate al db
>> e poi con un  click mi si apra la maschera in visualizzazione foglio
>> dati.
>
> Ho risolto la parte della casella di riepilogo con questo codice sql
> SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects
> WHERE(((MSysObjects.Type)=6));
> ora mi manca il resto ossia in modificare l'origine dati a una maschera
> posso sull'evento dopo aggiornamento della casella di riepilogo impostare
> in una variabile il nome della tabella e nell'evento di apertura della
> maschera trovare il nome della tabella dalla variabile ma per impostare
> questo nome nell'orgine e per gestire i campi non ne ho idea
>
>
>> altro problema č che le varie tabelle hanno un numero di campi diverso
>> come mi dovrei comportora in questo caso?
>> grazie
queto codice dovrebbe andare piů o meno bene, qualcuno mi aiuta a adattarlo?
Me.RecordSource = tabellaselezionata
'Me.RecordSource = "Query_Campi_Incrociati"
Dim qdf As DAO.QueryDef
Dim fld As DAO.Field
Dim rst As DAO.Recordset
Dim Conta As Integer
'mi si blocca alla riga seguente
Set qdf = CurrentDb().TableDefs(tabellaselezionata)
'.QueryDefs("Query_Campi_Incrociati")
'qdf.Parameters![Forms!MascheraParametri!Anno] =
Forms!MascheraParametri!anno
'qdf.Parameters![Forms!MascheraParametri!Mese] =
Forms!MascheraParametri!mese
Set rst = qdf.OpenRecordset
Conta = 1
For Each fld In rst.Fields
    Me("Etichetta" & Trim(Conta)).Caption = fld.Name
    Me("Etichetta" & Trim(Conta)).Visible = True
    Me("Controllo" & Trim(Conta)).ControlSource = fld.Name
    Me("Controllo" & Trim(Conta)).Visible = True
    Conta = Conta + 1
Next
Set rst = Nothing
Set qdf = Nothing
Set fld = Nothing
>> --
>> Negrinelli Walter
>>
>>
>
>


title: origine record maschera

text:
>>> Buongiorno a tutti
>>> vorrei creare una maschera che in apertura cambi l'origine dati
>>
>>> per selezionare la tabella corretta vorrei creare una casella di
>>> riepilogo che mi faccia vedere tutti i nomi delle tabelle collegate al
>>> db e poi con un  click mi si apra la maschera in visualizzazione foglio
>>> dati.
>>
>> Ho risolto la parte della casella di riepilogo con questo codice sql
>> SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects
>> WHERE(((MSysObjects.Type)=6));
>> ora mi manca il resto ossia di modificare l'origine dati in una maschera
queto codice va bene per le query ma mi da errore con le tabelle, qualcuno
sa dirmi se con le tabelle sarà impossibile adattarlo?
Dim mIndex As Integer
Dim mOrigine As String
tabellaselezionata = "Qr_bolle"
Me.RecordSource = tabellaselezionata
Dim qdf As DAO.QueryDef '(avevo impostato tabledef per origine da tabella)
Dim fld As DAO.Field
Dim rst As DAO.Recordset
Dim Conta As Integer
Set qdf = CurrentDb().QueryDefs(tabellaselezionata)
'Set qdf = CurrentDb().TableDefs(tabellaselezionata) avevo impostato questo
per quando provavo da tabella
Set rst = qdf.OpenRecordset 'mi si bloccava qui quando provavo da tabella
Conta = 1
For Each fld In rst.Fields
    Me("Etichetta" & Trim(Conta)).Caption = fld.Name
    Me("Etichetta" & Trim(Conta)).Visible = True
    Me("Controllo" & Trim(Conta)).ControlSource = fld.Name
    Me("Controllo" & Trim(Conta)).Visible = True
    Conta = Conta + 1
Next
Set rst = Nothing
Set qdf = Nothing
Set fld = Nothing
>>> Negrinelli Walter
>>>
>>>
>>
>>
>
>


title: eliminazione record con file esterno

text:
ho dei record che hanno allegato un file esterno
esempio
nome data             file
mario 01/01/2006 c:\mario.txt
paolo 10/02/2006 c:\paolo.txt
sara    12/02/2006 c:\sara.txt
ho la necessitą di eliminare i record ad esempio inferiori alla data
30/01/2006, e questo č fattibile anche con una query di eliminazione ma
dovrei eliminare anche il file di testo esterno con il comando kill, quindi
la query di eliminazione non mi sembra adatta.
devo forse usare un circlo for e ad ogni iterazione usare il comando delete
per il record  e kill per il file?
qualcuno sa aiutarmi?


title: eliminazione record con file esterno

author: Alessandro Baraldi

text:
Stero72 ha scritto:
> ho dei record che hanno allegato un file esterno
>
> esempio
>
> nome data             file
> mario 01/01/2006 c:\mario.txt
> paolo 10/02/2006 c:\paolo.txt
> sara    12/02/2006 c:\sara.txt
>
> ho la necessità di eliminare i record ad esempio inferiori alla data
> 30/01/2006, e questo è fattibile anche con una query di eliminazione ma
> dovrei eliminare anche il file di testo esterno con il comando kill, quindi
> la query di eliminazione non mi sembra adatta.
>
> devo forse usare un circlo for e ad ogni iterazione usare il comando delete
> per il record  e kill per il file?
>
> qualcuno sa aiutarmi?
Beh direi che la 2° soluzione che hai ipotizzato è la migliore...!
Private Sub DeleteRecords(tuaData as Date)
On Error resume Err_Delete
Dim rs as DAO.Recordset
Set rs=Currentdb.openrecordset("SELECT * FROM Tab WHERE Data<#" &
TuaData & "#")
if rs.eof then exit sub
Do until rs.Eof
    Kill rs!NomeFile
    rs.Delete
Run_Loop:
    rs.MoveNext
Loop
rs.close
set rs=nothing
Exit Sub
Err_Delete:
    ' Gestione errori in caso il file non esista o non si riesca a
cancellare
    Resume Run_Loop
End Sub
Ricordati di formattare la data in formato ISO altrimenti verrà
invertito mese con giorno...generandoti eliminazioni non desiderate...!
Non l'ho provata, quindi conterrà qualche Bugs(sarebbe da ottimizzare
la gestione errori, ma non ricordo il numero relativo al FileNot Found
e quello del File In uso.... eventualmente prova e migliorala)
@Alex


title: eliminazione record con file esterno

text:
Non l'ho provata, quindi conterrą qualche Bugs(sarebbe da ottimizzare
la gestione errori, ma non ricordo il numero relativo al FileNot Found
e quello del File In uso.... eventualmente prova e migliorala)
@Alex
Grazie mille, Buon Anno a tutti.


title: Apertura di un file di powerpoint con nomi di file separati da spazi

author: Andrea

text:
Salve uso A97, il mio problema è il seguente:
Ho registrato in un campo di una tabella il percorso ed il nome di un file
di Powerpoint, nel caso specifico il file si chiama "Corso Internet.ppt". Vi
riporto la routine che ho utilizzato, premetto che l'ho sempre usata alla
stessa maniera sia per Word che per Excel naturalmente aggiungendo i
riferimenti appropriati.
_________________
Dim OApp As Object
Dim MsPower As PowerPoint.Presentations
Set OApp = CreateObject("Powerpoint.Application")
Set MsPower = OApp.Open (Percorsodoc)
OApp.Visible = True
Set OApp = Nothing
Set MsPower = Nothing
_________________
Il risultato è un errore in inglese che adesso non ricordo nemmeno che mi fa
bloccare l'esecuzione solo sul metodo Open.
Ho provato come consiglia Access tramite creazione guidata, ad usare il
comando Shell impostando il percorso a mano.
_________________
Dim stAppName As String
stAppName = "C:\Programmi\Microsoft Office\Office\POWERPNT.EXE
C:\Documenti\Corso Internet.ppt"
Call Shell(stAppName, 1)
_________________
ma non ne vuole sapere di aprire questo file, del resto togliendo pezzi sono
riuscito a far partire Powerpoint e ad aprire file che hanno il nome INTERO
e non come nel mio caso separato da spazi, praticamente assurdo.
Confido in un vostro aiuto risolutore
Grazie 1000
Ciao Andrea


author: Sergio MAZZA

text:
"Andrea" <
andrea.di...@tin.it
> ha scritto nel messaggio
news:HIgM6.592$8P3....@news1.tin.it...

Ho trovato questo articolo
(
http://support.microsoft.com/support/kb/articles/Q265/3/85.ASP?LN=EN-US&SD=
gn&FR=0&qry=Presentations&rnk=3&src=DHCS_MSPSS_gn_SRCH&SPR=ACC) che spiega
come utilizzare il viewer di powerpoint invece del powerpoint stesso.
Ho provato anch'io a visualizzare un file .ppt con powerpoint e alla prima
esecuzione avvisa che mancano i riferimenti a una libreria (non indica
quale) e se voglio aggiungerli; rispondendo in modo affermativo i
riferimenti vengono inseriti ma si presenta un errore di "Presentations
(unknown member)" sulla riga dove viene aperto il file.
La libreria che mancava è la "Microsoft Office 8.0 Object Library" e
comunque io non sono riuscito a far visualizzare nulla se non il messaggio
di errore.
Con l'esempio presente nel link indicato, il viewer esegue il file ppt senza
una piega anche se il nome del file ha degli spazi.
Ciao.


author: Luca77 - VI

text:
"Andrea" <
andrea.di...@tin.it
> ha scritto nel messaggio
news:HIgM6.592$8P3....@news1.tin.it...

Devi convertire il percorso nel buon vecchio caro percorso dos:
C:\Documenti\Corso~.....
sia quando hai spazi che quando hai nomi lunghi
Esiste una API che lo fa per te: GetShortPathName
Luca


author: Medianet

text:
Tramite VB ho trovato l'Api che mi dicevi e l'ho incollata in un modulo di
Access, solo che ho dovuto dargli io il percorso abbreviato, ed inoltre la
Sub mi restituisce un numero il 25, che vuol dire?
Grazie
Ciao Andrea
_______________________
Public Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" _
(ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal
cchBuffer As Long) As Long
Public Sub lavora()
    Dim vai As Long
    vai = GetShortPathName("C:\documenti\prova power.ppt",
"C:\documenti\provap~1", 1)
End sub
_______________________


text:
"Medianet" <
andrea.di...@tin.it
> ha scritto nel messaggio
news:0drM6.1318$8P3....@news1.tin.it...

Provate questa:
Private Stringa As String
Const LUNGHEZZA_MASSIMA_PERCORSO = 255
Private Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" _
    (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal
cchBuffer As Long) As Long
Public Function NomeFileDos(szPercorso As String) As String
    Dim lLunghezza As Long
    NomeFileDos = String(LUNGHEZZA_MASSIMA_PERCORSO, vbNullChar)
    lLunghezza = GetShortPathName(szPercorso, NomeFileDos, Len(szPercorso))
    NomeFileDos = Left$(NomeFileDos, lLunghezza)
    If Asc(NomeFileDos) = 0 Then
        NomeFileDos = szPercorso
    End If
End Function
Luca


title: HTML editor/viewer in form

author: Pibe

text:
Salve a tutti,
io avrei bisogno di includere all'interno di un form un box in cui si possa
visualizzare e modificare del testo HTML. Mi spiego: non vorrei vedere e
modificare direttamente il codice sorgente della pagina html, ma, un po'
come fa Word, poter lavorare direttamente con testo, immagini e tabelle, e
fare in modo che siano immagazzinate in formato HTML. Lo scopo di questo è
poter gestire dei messaggi email HTML.
Credo che per fare questo si possa sfruttare l'object model di word, e
magari qualche strano controllo activex...? Non lo so, ho fatto varie prove
ma non sono riuscito a far niente ancora! Grazie a chi mi saprà dare qualche
dritta
ciao, Pietro


title: Re: relazioni

text:
ugo conte ha scritto:
>ciao a tutti
>volevo un vostro parere sulla correttezza delle relazioni in questo
>indirizzo
>internet:
>
http://www.pmi.it/software/tutorial/4027/p3/creare-documenti-di-trasporto-c=
>on-access.html
>
>=E8 corretta la relazione tra TOrdini e TCliente?
>Grazie
Per quanto vedo io, assolutamente no. E avrei dei dubbi anche sul
resto.....personalmente poi non relaziono mai con il verso delle freccie (le
relazioni NON sono i join delle query, sebbene vengano rappresentate nello
stesso modo)
--


title: Re: relazioni

author: BFS

text:
Il 04/05/2011 20:38, ugo conte ha scritto:
> ciao a tutti
> volevo un vostro parere sulla correttezza delle relazioni in questo
> indirizzo
> internet:
>
http://www.pmi.it/software/tutorial/4027/p3/creare-documenti-di-trasporto-con-access.html
>
> è corretta la relazione tra TOrdini e TCliente?
> Grazie
non vedo perchè uno debba essere obbligato ad avere un ordine per
produrre un ddt...viste le relazioni.
comica anche la struttura della tabella clienti con l'indirizzo di
spedizione come campo
ti consiglio la classica struttura
tabCliente
tabTestataPiedeBolla
tabRigheBolla
ciao
BFS


title: Re: relazioni

text:
Il 05/05/2011 09:43, ugo conte ha scritto:
> On 5 Mag, 09:10, BFS<B...@BFSBFS.it>  wrote:
>> Il 04/05/2011 20:38, ugo conte ha scritto:
>>
>>> ciao a tutti
>>> volevo un vostro parere sulla correttezza delle relazioni in questo
>>> indirizzo
>>> internet:
>>>
http://www.pmi.it/software/tutorial/4027/p3/creare-documenti-di-trasp.
..
>>
>>> è corretta la relazione tra TOrdini e TCliente?
>>> Grazie
>>
>> non vedo perchè uno debba essere obbligato ad avere un ordine per
>> produrre un ddt...viste le relazioni.
>> comica anche la struttura della tabella clienti con l'indirizzo di
>> spedizione come campo
>>
>> ti consiglio la classica struttura
>>
>> tabCliente
>>
>> tabTestataPiedeBolla
>>
>> tabRigheBolla
>>
>> ciao
>> BFS
>
> grazie.
> per tabCliente ok
> ma come deve essere la struttura
> della TestataPiedeBolla e TabRigheBolla?
>
> ha qualcuno un esempio da fami prelevare
> per darci un'occhiata?
> Grazie
es.
tabTestata
idbolla
numbolla
databolla
idcliente  (relazione con anagrafica)
iddestinazione (relazione con archivio destinazioni anagrafica)
peso
colli
idvettore
volume
idcausalebolla
idPorto
dataOraSpedizione
etc etc
...
in relazione uno a molto con righebolla:
idRigaBolla
idBolla
codicearticolo
descrizioneriga
prezzoUnitario
UnitàDiMisura
quantità
idRegimeIva
IDconto
.....
etc etc
ciao
BFS


title: Re: relazioni

text:
Il 05/05/2011 12:12, ugo conte ha scritto:

> ciao BFS
> scusami, ma ho bisogno ancora d'aiuto.
>
> quello che mi postato si tratta di maschera con sottomaschera?
>
> idBolla della tabTestata e della tb sottostante vanno collegate?
>
> la tb sottostante sarebbe Tbrighe bolla?
>
> in più mi servirebbe sapere il tipodati di volume
>
> e la struttura della tb idporto
>
> nelle relazioni di cui sopra, le checkbox vanno spuntate tutte e tre?
> grazie
è la classica form con sottomaschera...ma i miei sono semplici campi di
esempio che ti ho scritto. i DDT non sono uguali per tutti i tipi di
attività. Es. un DDT di chi trasporta materiale pirico è molto più
complesso di quello di chi trasporta una scatola di scarpe :-)
Il mio era uno spunto..poi devi vedere tu cosa serve al cliente
il tipo dati di volume mettilo pure testo
la tabella porto di solito è fatta da
idresa contatore
tiporesa testo
popolata con:
franco
assegnato
etc
ciao,
BFS


title: Re: relazioni

text:
Il 06/05/2011 10:43, ugo conte ha scritto:
> On 5 Mag, 12:50, ugo conte<
ugo.cont...@gmail.com
>  wrote:

>> gentilissimo.
>> ancora grazie
>
> ciao BFS
> in volume cosà ci dovrebbe andare,
> la somma della merce caricata?
> Grazie
di solito i metri cubi di ingombro..ma per molti tipi di attività non è
obbligatorio
diciamo che per la maggior parte bastano i colli e i KG
ciao
BFS


title: Help maschere di inserimento : Numeri di telefono

author: Nius

text:
Qualkuno saprebbe indicarmi una valida maskera di inserimento dati in una
tabella dove vorrei mettere prefisso e numero di trelefon separati da "-" .
Se utilizzo gli esempi riportati e mettendo maschere del tipo 9999\-\9999999
oppure 99##\-\99999999 quando inserisco prefissi telefonici a due o tre
caratteri il numero telefonico okkupa i karatteri mankanti del prefisso
Grazie e tornero' presto a scocciarvi :)


author: Pivo

text: hai scritto una volta "caratteri" ed una volta "karatteri". Come mai?


text:
Perke' sono un chattatore inkallito e ogni tanto scrivo offerte con kappa
disseminate da tutte le parti :)
Ciauz


title: Esportare file in formato CBI

author: Dino

text:
Ciao a tutti sono Dino.Ho realizzato Un DB per la gestione delle
riba.Le riba mensilmente vengono calcolate attraverso una query di
riepilogo ed esportate in un file formato testo tramite una macro che
compie l'azione OutputSu.
La banca giustamente mi dice che vuole il formato CBI. Mi ha dato i
dati tecnici per realizzarlo.Ma a dir la verita' non ho capito molto.
Di seguito vi riporto la sintesi del doc che mi hanno inviato.
Ogni ricevuta è formata da 7 record di 120 caratteri ciascuno nella
seguente sequenza:
1°				14
	2°				20
		3°				30
			4°				40
				5°				50
					6°				51
						7°				70
L'insieme delle ricevute viene fatto precedere da un record di testa e
seguire da un record di coda di 120 caratteri ciascuno:
record di testa "IB"
			record di coda "EF"
Aspetto notizie in merito
Grazie in anticipo e saluti da Dino


title: Esportare file in formato CBI

author: VT @ home

text:
Il Mon, 17 Dec 2007 11:58:41 -0800 (PST), Dino <
verreng...@alice.it
> ha scritto:
>(.....)
>Ciao a tutti sono Dino.Ho realizzato Un DB per la gestione delle
>riba.Le riba mensilmente vengono calcolate attraverso una query di
>riepilogo ed esportate in un file formato testo tramite una macro che
>compie l'azione OutputSu.
>La banca giustamente mi dice che vuole il formato CBI. Mi ha dato i
>dati tecnici per realizzarlo.Ma a dir la verita' non ho capito molto.
Non c'è molto da capire !
Non si può fare con le funzioni di esportazione predefinite di Access: devi scrivere una funzione VBA che prepara i vari
record del tracciato così come prevede lo standard CBI.
Bisogna operare in questo modo per un motivo fondamentale:
un file CBI contiene al suo interno record di tipo diverso, ognuno con un tracciato specifico.
Senza contare che, se non ricordo male, non tutti i tipi record sono obbligatori quindi a secondo dei dati contenuti nel
file, alcuni tipi record possono essere presenti o meno.
>Di seguito vi riporto la sintesi del doc che mi hanno inviato.
>
>Ogni ricevuta è formata da 7 record di 120 caratteri ciascuno nella
>seguente sequenza:
>
>
>1°				14
>	2°				20
>		3°				30
>			4°				40
>				5°				50
>					6°				51
>						7°				70
>
>
>L'insieme delle ricevute viene fatto precedere da un record di testa e
>seguire da un record di coda di 120 caratteri ciascuno:
>
>
>record di testa "IB"
>
>
>
>
>
>
>
>
>
>
>			record di coda "EF"
>
>Aspetto notizie in merito
>Grazie in anticipo e saluti da Dino
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------


title: Esportare file in formato CBI

text:
On 17 Dic, 21:06, "VT @ home" <
V...@home.it
> wrote:

> ---------------------------------------------- Nascondi testo tra virgolette -
>
> - Mostra testo tra virgolette -
Ciao Vincenzo Turturro Wrote
Non pretendo (ovviamente) che mi scrivi la funzione pero' non saprei
come impostare inizialmente la routine.
Io come dicevo sopra genero una query di riepilogo contenente
determinati campi.Per esempio supponiamo che il mese di Novembre abbia
generato 20 ric bancarie (Cioe' 20 record).La funzione che devo
realizzare deve spezzare ogni record in piu' record.Correggimi se
sbaglio.
Grazie e buone feste.


title: Esportare file in formato CBI

text:
Il Mon, 17 Dec 2007 12:15:11 -0800 (PST), Dino <
verreng...@alice.it
> ha scritto:
>(.....)
>Ciao Vincenzo Turturro Wrote
>
>Non pretendo (ovviamente) che mi scrivi la funzione pero' non saprei
>come impostare inizialmente la routine.
>Io come dicevo sopra genero una query di riepilogo contenente
>determinati campi.Per esempio supponiamo che il mese di Novembre abbia
>generato 20 ric bancarie (Cioe' 20 record).La funzione che devo
>realizzare deve spezzare ogni record in piu' record.Correggimi se
>sbaglio.
L'ultima volta che ho prodotto un file CBI risale ad un paio di anni fa ...
Quindi non saprei rispondere senza leggere prima con attenzione le specifiche CBI.
Fra l'altro: di quale versione CBI stiamo parlando ?
Però, se non ricordo male, il record di testa e quello di piede contengono i valori di quadratura dell'intero file,
quindi li devi valorizzare direttamente da codice VBA, calcolando i vari valori in funzione di quali/quanti record
vengono esportati nel file.
Poi, sempre se la memoria non mi tradisce, alcuni tipi di record (forse il tipo 60 ?) sono dedicati a contenere
informazioni descrittive e quindi non è detto che siano sempre presenti.
In ogni caso, nella documentazione c'è scritto per filo e per segno quali dati devono andare in ogni campo per ogni tipo
record.
Da tali specifiche dovrebbe essere quindi facile capire da dove devi prelevare i dati e quindi come scrivere la
funzione.
>Grazie e buone feste.



title: Esportare file in formato CBI

author: Fabio Dalla Villa

text:
Non pretendo (ovviamente) che mi scrivi la funzione pero' non saprei
come impostare inizialmente la routine.
Io come dicevo sopra genero una query di riepilogo contenente
determinati campi.
ho fatto una cosa analoga .. l'ho impostata cosě in VB:
- Leggo la query che contiene tutti i dati che mi servono in un recordset
- Controllo i dati che devo processare; se ci sono anomalie le segnalo ed
esco dal codice
- creo un file di testo (comandi OPEN e Print#)
- produco da codice il record di testa
- ciclo la produzione dei record da 10 a 70 (quelli che servono) girando su
tutto il recordset
  nel mentre devi aggiornare una variabile intera che conta i record che
produci (i)
- produco il record di testa e gli scrivo dentro anche la variabile i+2
(record di testa e di coda)


title: Esportare file in formato CBI

text:
On 18 Dic, 11:40, "Fabio Dalla Villa" <
cordar_sci...@tiscali.it
>
wrote:
> Non pretendo (ovviamente) che mi scrivi la funzione pero' non saprei
> come impostare inizialmente la routine.
> Io come dicevo sopra genero una query di riepilogo contenente
> determinati campi.
>
> ho fatto una cosa analoga .. l'ho impostata così in VB:
>
> - Leggo la query che contiene tutti i dati che mi servono in un recordset
>
> - Controllo i dati che devo processare; se ci sono anomalie le segnalo ed
> esco dal codice
>
> - creo un file di testo (comandi OPEN e Print#)
>
> - produco da codice il record di testa
>
> - ciclo la produzione dei record da 10 a 70 (quelli che servono) girando su
> tutto il recordset
>   nel mentre devi aggiornare una variabile intera che conta i record che
> produci (i)
>
> - produco il record di testa e gli scrivo dentro anche la variabile i+2
> (record di testa e di coda)
Ciao Fabio Wrote
Inanzitutto ti ringrazio per la dritta.Correggimi se sbaglio.Io con
una macro predefinita(OutputSu ) riesco a generare un file TXT o anche
in HTML che probabilmente non serve per la realizzazione del record di
testa e coda.
Il mio problema e' l'impostazione iniziale del codice i quanto ho
appena cominciato ad avvicinarmi al VB.
Mi piace sottolineare che non pretendo che il buon "Fabio" o un altro
collega (chiamiamoci cosi')lo facciano al posto mio.....MA
Quasi....Ovviamente scherzo.
Ad esempio pero' (Perdona il neofito) io ho un recordset composto dai
campi:
Nome azienda - indirizzo -localita - tot fattura - num riba - pag 30 -
pag 60 - pag 90 ecc.
Come imposto la partenza della routine.
Grazie in anticipo e auguri di buon Natale (spero in formato CBI)
Saluti Dino


title: Esportare file in formato CBI

text:
Inanzitutto ti ringrazio per la dritta.Correggimi se sbaglio.Io con
una macro predefinita(OutputSu ) riesco a generare un file TXT o anche
in HTML che probabilmente non serve per la realizzazione del record di
testa e coda.
Il mio problema e' l'impostazione iniziale del codice i quanto ho
appena cominciato ad avvicinarmi al VB.
Mi piace sottolineare che non pretendo che il buon "Fabio" o un altro
collega (chiamiamoci cosi')lo facciano al posto mio.....MA
Quasi....Ovviamente scherzo.
Ad esempio pero' (Perdona il neofito) io ho un recordset composto dai
campi:
Nome azienda - indirizzo -localita - tot fattura - num riba - pag 30 -
pag 60 - pag 90 ecc.
Come imposto la partenza della routine.
Grazie in anticipo e auguri di buon Natale (spero in formato CBI)
Saluti Dino
----------------------------------------------------------------
Con la macro è difficile combinare queste cose, mi sa che devi proprio usare
VBA.
Ti ho mandato la subroutine, che però ho scritto per i RID. Buon
divertimento!
La routine la fai partire con un pulsante dentro la tua maschera (dietro
l'evento click).
Poi comincia il bello ....
ciao


title: Esportare file in formato CBI

author: pliko

text:
Fabio Dalla Villa ha scritto:

Ciao
mi piacerebbe sapere se hai raggiunto il "tuo scopo"
e (dico e...) se fosse possibile, avere pure io la sub  :)
azz mi stò scervellando, e ho pure 39 di febbre, ma devo farcela
entro fine mese.
pronto a ricambiare (se fosse possibile)
--
Questo articolo e` stato inviato dal sito web
http://www.nonsolonews.it


title: "chiudere" DB

text:
Ciao,
il mio problemino è semplice credo... desiderei che altri utenti non
entrassero nel pannello di controllo del mio db senza creare degli utenti e
senza usare il tasto dello Shift.
esiste qualcosa che faccia al caso mio?!
grazie
@fly
--------------------------------
Inviato via
http://usenet.iol.it


title: "chiudere" DB

author: Antonio Biso

text:
@fly <
sub...@inwind.it
> wrote in message
140Z105Z48Z16Y1...@usenet.iol.it...
> Ciao,
> il mio problemino è semplice credo... desiderei che altri utenti non
> entrassero nel pannello di controllo del mio db senza creare degli utenti
e
> senza usare il tasto dello Shift.
> esiste qualcosa che faccia al caso mio?!
Sito comune: disabilitare il tasto shift
Antonio


title: Inserire non più di un tot di record

author: Fabio

text:
Ciao a tutti,
come posso fare in modo che in una maschera possano essere
modificati/inseriti non più di 8 record?
Anticipatamente grazie,
Fabio


title: Inserire non più di un tot di record

author: MA

text:

if dcount("*", tuatab, tuofiltro) > 8 then
msgbox "Ehi ciccio l'ha fatta fuori al secchio!!!"
docmd.close
end if
Ovviamennte ad ogni inserimento devi salvare il record
docmd.runcommand accmdsaverecord
ciao MAssimiliano
--------------------------------
Inviato via
http://usenet.libero.it


title: Rowsource e stampa dei report

author: Singer

text:
prendendo spunto da un esempio che trovai sul sitocomune avevo impostato
tutte le mie maschere di ricera facendo in modo che i risultati della
casella di riepilogo
fossero il filtro per la stampa del report relativo. Ciò avveniva attraverso
la proprietà Rowsource infatti, p.e., me.list.rowsource diventava la stringa
di filtro di tutti i i miei report.
Frugando tra altri esempi  ho trovato invece anche la possibilità di
visualizzare i dati filtrati attraverso una maschera in visualizzazione
foglio dati.Questo per me è cosa più pratica perchè per esempio non ho
bisogno di specificare ogni volta le intestazioni dei campi della casella di
riepilogo, dato che le etichette sono quelle dei campi della sottomaschere.
Ora la mia maschera di ricerca è cosi costituita:
La Maschera1 contiene due caselle non associate che contengono i valori
"data" per i quali io voglio eseguire il filtro e contiene in sè la
sottomaschera Maschera2, costituita da una maschera con i campi che mi
interessano, i quali fanno riferimento a quelle due caselle, per i parametri
di filtro.
Ora io voglio stampare il risultato della maschera2, cioè i record filtrati.
Grazie, ma come faccio?


title: Rowsource e stampa dei report

author: Mister No

text:
{CUT]
Ciao,
per la versione 97 prova un pò a vedere a questo link
http://download.microsoft.com/download/access97/samples/1/WIN98/EN-US/RPTSMP97.EXE

mentre per la versione 2000 ->
http://download.microsoft.com/download/access2000/sample/1.0/win98/en-us/rptsmp00.exe
 -
 > trovi esempi di report che possono ritornarti utili !
Notte


title: Rowsource e stampa dei report

author: Roberto dalla campagna

text:
"Singer" <
antoniof...@fastwebnet.it
> ha scritto nel messaggio
news:er2Qe.19848$zs.1...@tornado.fastwebnet.it...

Se il filtro di maschera2 lo ottieni intervenendo sulle sue due proprietà
Filter e FilterOn la cosa più veloce è quella di copiare, a fronte
dell'evento "Su apertura" del report, nella proprietà Filter del report
quanto è contenuto nella proprietà Filter di maschera2 e quindi impostare a
True la proprietà FilterOn del report, insooma qualcosa del genere:
Reports!NomeReport!.Filter = Forms!NomeMaschera.Filter
Reports!NomeReport.FilterOn = True
Naturalmente al momento dell'esecuzione del report maschera2 deve risultare
aperta.
>
> Grazie, ma come faccio?
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: Rowsource e stampa dei report

text:
[CUT]
Ciao Roberto,
lo gestisci tu il sito comune? C'è qualcosa che non va nella ricerca...si
chiude di colpo la pagina del browser -> te ne sei accorto?
Buona giornata :-)


title: Rowsource e stampa dei report

text:
[CUT]
Ovviamente la mia è sola una "segnalazione" -> giusto per intenderci !


title: Rowsource e stampa dei report

text:
"Mister No" <
ma...@mail.it
> ha scritto nel messaggio
news:RrgQe.111200$fm.73...@news4.tin.it...
>
> [CUT]
>
> Ovviamente la mia è sola una "segnalazione" -> giusto per intenderci !
Giusto per intenderci, penso che tu non abbia letto attentamente quello che
è scritto nella pagina di ricerca del Sito Comune, ovvero non hai letto cosa
occorre fare per evitare tale inconveniente.



title: Rowsource e stampa dei report

text:
[CUT]
>
> Giusto per intenderci, penso che tu non abbia letto attentamente quello
> che
> è scritto nella pagina di ricerca del Sito Comune, ovvero non hai letto
> cosa
> occorre fare per evitare tale inconveniente.
>
Ok -> d'accordo hai ragione te: non avevo letto bene!
Buona serata :-)


title: Rowsource e stampa dei report

text:
"Mister No" <
ma...@mail.it
> ha scritto nel messaggio
news:sVoQe.112873$fm.74...@news4.tin.it...

A te una buona settimana. :-)



title: Rowsource e stampa dei report

text:
[CUT]
> A te una buona settimana. :-)
Grazie...mi sà che hai ragione ! :-)


title: Rowsource e stampa dei report

text:
[CUT]
Sai...ripensandoci mi dispiace davvero per le incomprensioni che abbiamo
avuto in passato -> in fondo nutro grande rispetto x te sia come uomo che
come programmatore! :-)


title: Rowsource e stampa dei report

text:
"Mister No" <
ma...@mail.it
> ha scritto nel messaggio
news:veDQe.114769$fm.75...@news4.tin.it...

Penso che sia logico mettere a confronte idee diverse e questo a volte porta
a scazziarsi anche in modo vivace; alla fine l'imporante č metteci una
pietra sopra e non portare uno stupido rancore.
Comunque anche io rispetto anche se naturalmente non condivido chi la pensa
in maniera diversa dalla mia. :)



title: Rowsource e stampa dei report

text:
[CUT]
;-)
Buona giornata ! :-)  Io seguirò il tuo "consiglio" giacchè non mi accorgo
più delle cose scritte in maniera abbastanza chiara...
Gaspare :-)


title: Importa dati in excel-tabe pivot. Problema stranissimo.

author: montanaro

text:
Il problema è stranissimo.
In excel da menu dati/importa dati esterni/importa dati, tento di importare
una normale query (almeno credo sia normale). Se importo i dati normalmente
per avere un foglio dati è tutto ok.
Se invece alla fine della procedura chiedo che venga costruita un tabella
pivot mi da questo messaggio:
[Microsoft][Driver ODBC Microsoft Access]"" non è un nome valido. Verificare
che non includa caratteri o punteggiatura non validi e che non sia troppo
lungo.
Per completezza questa è la query:
SELECT f_docrig.esercizio, f_anagrafe.codice, f_anagrafe.descrizion,
DateSerial(Year(f_docrig!datadoc),Month(f_docrig!datadoc)+1,1)-1 AS periodo,
f_docrig.codicearti, f_magart.descrizion,
Sum(IIf(f_docrig!tipodoc="FT",f_docrig!prezzotot,0)+IIf(f_docrig!tipodoc="ND",f_docrig!prezzotot,0)+IIf(f_docrig!tipodoc="NV",f_docrig!prezzotot,0)-IIf(f_docrig!tipodoc="NC",f_docrig!prezzotot,0))
AS importo,
Sum(IIf(f_docrig!tipodoc="FT",f_docrig!quantita,0)+IIf(f_docrig!tipodoc="NV",f_docrig!quantita,0))
AS quantità, f_magart.unmisura
FROM f_anagrafe INNER JOIN (f_docrig INNER JOIN f_magart ON
f_docrig.codicearti = f_magart.codice) ON f_anagrafe.codice =
f_docrig.codicecf
WHERE (((f_docrig.tipodoc) Like "FT" Or (f_docrig.tipodoc) Like "NV" Or
(f_docrig.tipodoc) Like "NC" Or (f_docrig.tipodoc) Like "ND"))
GROUP BY f_docrig.esercizio, f_anagrafe.codice, f_anagrafe.descrizion,
DateSerial(Year(f_docrig!datadoc),Month(f_docrig!datadoc)+1,1)-1,
f_docrig.codicearti, f_magart.descrizion, f_magart.unmisura
HAVING (((f_docrig.esercizio)>"2003"))
ORDER BY f_docrig.codicearti;
Vorrei un aiutino, secondo me trascuro qualcosa che ancora non conosco di
Access, non è un problema di driver, perchè normalmente i dati in excel li
importo.
Grazie a tutti.
Montanaro
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: installare Comdlg32.ocx e Comdlg32.dll per windows 7

text:
per utilizzare come si deve il controllo CommonDialog in una
applicazione Vba in excel 2010

Ho provato ad eseguire i seguenti passi :

- scaricarle free dal web (ok)
- copiarle in c:\windows\system32 (ok)
- a registrarle (tramite regedit)  (no ok : qui mi da errore)

mah

Secondo voi che devo fare x installarle come si deve ?

In ogni caso che relazione precisa cè tra la ocx e la dll ?
L' ocx è un oggetto che usa le librerie dll ? O che ?

Grazie


text:

provato a salvarli in c:\windows\syswow64?
hai provato a registrarle via prompt dei comandi aperto con poteri
amministrativi?

ciao


text:

... No
Ok ci provo e ti faccio sapere.  Grazie mille


title: metodo getobject

author: Jvbov-Andrea

text:
Salve.
Vi chiedo aiuto perchč in una maschera cerco di collegarmi ad un file excel
con il metodo Getobject, ma mi viene restituito l'errore numero 438:
metodo non supportato dall'oggetto.Sono in Access97.
Lo stesso vale se chiamo il metodo Saveas.
Riesco tuttavia a creare una nuova istanza dell'applicazione.
Qualcuno mi sa indicare la soluzione.
Devo impostare qualche riferimento in particolare?
Grazie
 Andrea


title: metodo getobject

author: Sergio MAZZA

text:
"Jvbov-Andrea" <
jvbov_...@libero.it
> ha scritto nel messaggio
news:GpKBa.46660$Ny5.1...@twister2.libero.it...

I riferimenti alla libreria di Excel; menů Strumenti - riferimenti...
Ciao.
--
Sergio MAZZA


title: metodo getobject

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:bbd305$896$1...@canarie.caspur.it...

Grazie.
Ho risolto in questo modo.
Andrea


title: Re: evento "su uscita" che non fa il suo dovere

author: mantro

text:
Il 14/04/2020 10:13, Andrea Pettenon ha scritto:
> Ciao,
> ho un piccolo problema che non capisco proprio e chiedo lumi:
> in una sottomaschera, quando il focus arriva in una casella combinata ho messo nell'evento "su attivato" la seguente riga:
>
> Me.IDTariffa = Forms!M_InserimentoOrdiniTrasporti!IDCliente & Left(CittaMittente, 3) & Left(CittaDestinatario, 3)
>
> e tutto funziona, la casella viene popolata in automatico con il dato che gli ho fatto scrivere. Poi uscendo da questo campo si determina l'evento "su non in elenco" che dovrebbe aprirmi una maschera per aggiungere questo record alla relativa tabella (t_Tariffe) ma questo non succede e mi va alla casella successiva. Se invece prima di andare alla casella successiva modifico quanto mi ha scritto l'automatismo e lo riscrivo direttamente da tastiera si concretizza l'evento "su non in elenco" aprendomi la maschera relativa.
> La domanda è: perchè?

[cut]

Perché il dato che immetti nella combinata fa parte dell'elenco, per cui
non può verificarsi l'evento 'Su non in elenco'. Se vuoi memorizzare
questo dato nella tabella sottostante la sottomaschera, devi usare
l'evento 'Dopo aggiornamento'.

Diverso il caso in cui questo dato lo modifichi. In questo caso il dato
modificato non fa parte dell'elenco ed ecco che scatta l'evento 'Su non
in elenco'.


author: Andrea Pettenon

text:

No, non funziona come mi dici tu. E ho provato anche usando altri eventi ma senza successo.
Quindi mi ripropongo sperando di trovare la soluzione (che sono sicuro ci sia)

Allora, la maschera in questione ha questi campi:
[IDVettore], [IDCamion], [IDTariffa], [DataCarico]
dopo avere inserito i primi 2 campi IDVettore e IDCamion, nel campo IDTariffa ho scritto le seguenti routine:

Private Sub IDTariffaF_GotFocus()
 Me.IDTariffa = "quello che voglio"
End Sub

una volta che da IDCamion si va sul campo IDTariffa, appare la stringa "quello che voglio"
e non essendo presente nell'elenco della combo dovrebbe andare in esecuzione l'evento "non in elenco",
ma ciò non succede. Se invece la inserisco a mano o la modifico ed esco dal campo IDTariffa l'evento "non in elenco" va in esecuzione.

La routine scritta su non in elenco è la seguente:

Private Sub IDTariffa_NotInList(NewData As String, Response As Integer)
Me!ZPippo = NewData
DoCmd.OpenForm "M_TariffeVettori", , , , acFormAdd, acDialog, "GotoNew"
  Me!IDTariffa.Requery
Response = acDataErrAdded
End Sub

Ho provato a mettere la routine anche negli altri eventi, ma senza successo.
Come si fa?

Andrea


text:
[CUT]

> Private Sub IDTariffaF_GotFocus()
>   Me.IDTariffa = "quello che voglio"
> End Sub
>
> una volta che da IDCamion si va sul campo IDTariffa, appare la stringa "quello che voglio"
> e non essendo presente nell'elenco della combo dovrebbe andare in esecuzione l'evento "non in elenco",
> ma ciò non succede. Se invece la inserisco a mano o la modifico ed esco dal campo IDTariffa l'evento "non in elenco" va in esecuzione.
>

In effetti gli altri eventi non rispondono.
Una soluzione potrebbe essere questa:

Private Sub IDTariffaF_GotFocus()
     If IsNull(Me.IDTariffa) Then
         Me.IDTariffa.Text = "quello che voglio"
     End If
End Sub

In questo modo se "quello che voglio" non è già esistente, scatta subito
l'evento 'Su non in elenco', appena IDTariffa riceve il focus.

Io ho assunto che l'origine riga di IDTariffa sia tabella/query non
elenco valori. Corretto?


text:

Ho provato sia con l'origine riga basata sulla query che su elenco valori, ma non ci sono differenze. Quando appare il valore "quello che voglio" nella combo e andando al campo successivo, non va in esecuzione l'evento 'Su non in elenco'.


text:

O non ci capiamo o c'è qualcosa che mi sfugge.
La routine che t'ho postato si comporta come l'evento 'su non in elenco'
quando tu, tramite codice, passi un valore nel momento in cui il
controllo IDTariffa riceve il focus. Il confronto di questo valore,
variabile o meno che sia, con l'elenco che è all'origine riga della
combo viene fatto immediatamente e... a questo punto deve seguire,
ovviamente, una procedura per la gestione di questo nuovo valore.

Come fai a dire che non funziona? Io l'ho testato e funziona correttamente.
Prova a mettere, dopo la riga Me.IDTariffa.Text sopra riportata e sempre
all'interno del blocco If, la riga MsgBox "Valore inesistente". Vedrai
che appena passi una variabile stringa che contiene un valore non
presente in elenco apparirà il msgbox che sta ad indicare che la stringa
che tu hai passato non si trova in elenco.
A questo punto, va da sè, devi attivare una procedura per l'accettazione
di questo nuovo valore.


text:
[CUT]

>>
>> Ho provato sia con l'origine riga basata sulla query che su elenco
>> valori, ma non ci sono differenze. Quando appare il valore "quello che
>> voglio" nella combo e andando al campo successivo, non va in
>> esecuzione l'evento 'Su non in elenco'.
>>
>
> O non ci capiamo o c'è qualcosa che mi sfugge.
> La routine che t'ho postato si comporta come l'evento 'su non in elenco'
> quando tu, tramite codice, passi un valore nel momento in cui il
> controllo IDTariffa riceve il focus. Il confronto di questo valore,
> variabile o meno che sia, con l'elenco che è all'origine riga della
> combo viene fatto immediatamente e... a questo punto deve seguire,
> ovviamente, una procedura per la gestione di questo nuovo valore.

M'è venuto un dubbio! Ma tu ti aspetti che qui scatti l'evento 'Non in
elenco' della dotazione di access? Ma no, cribbio!
Sei tu che devi attivarti per gestire questo valore...



text:

E' proprio ciò che ho provato e riprovato.
Viene pure a me un dubbio (da inesperto come so di essere, ma che cerco di applicarmi per imparare sempre di più): le mie tabelle sono tabelle collegate via ODBC a database su microoft sql server express.

>
> Come fai a dire che non funziona? Io l'ho testato e funziona correttamente.
> Prova a mettere, dopo la riga Me.IDTariffa.Text sopra riportata e sempre
> all'interno del blocco If, la riga MsgBox "Valore inesistente". Vedrai
> che appena passi una variabile stringa che contiene un valore non
> presente in elenco apparirà il msgbox che sta ad indicare che la stringa
> che tu hai passato non si trova in elenco.
> A questo punto, va da sè, devi attivare una procedura per l'accettazione
> di questo nuovo valore.
Ti voglio incollare tutto il codice di questa mia sottomaschera dove c'è la combo, perchè a questo punto non voglio tralasciare nemmeno una virgola al caso, ma ho controllato 1000 volte e non vedo motivo perchè non debba funzionare...

Option Compare Database

Private Sub DataCarico_GotFocus()
If IsNull(Me!IDTariffaF) Then
Me!IDTariffaF.SetFocus
Else
Me!DataCarico.SetFocus
End If
End Sub

Private Sub DataCarico_LostFocus()
If IsNull(Forms!M_SubOrdiniInCorso2!DataInizioTrasporto) Then
Forms!M_SubOrdiniInCorso2!DataInizioTrasporto = Me!DataCarico
End If
DoCmd.RunCommand acCmdSaveRecord

End Sub

Private Sub DataScarico_LostFocus()
If Me.Descrizione Like "*" & Forms!M_SubOrdiniInCorso2!CittaDestinatario And Not IsNull(Me.DataScarico) Then
Forms!M_SubOrdiniInCorso2!DataFineTrasporto = Me!DataScarico
End If
DoCmd.RunCommand acCmdSaveRecord
Forms!M_SubOrdiniInCorso2!DataInizioTrasporto.SetFocus
DoCmd.RunCommand acCmdSaveRecord
Forms!M_SubOrdiniInCorso2!Comando67.SetFocus

End Sub

Private Sub EmailVettore_Click()
If Not IsNull(Me!EmailVettore) Then
DoCmd.SendObject , , , Me!EmailVettore, , , _
"Incarico trasporto " & Forms!M_SubOrdiniInCorso2!IDOrdine & "." & Me!IDSubOrdine & "." & Me!IDTratta, _
"Indirizzo di carico: " & vbCrLf & _
Forms!M_SubOrdiniInCorso2!NomeMittente & vbCrLf & _
Forms!M_SubOrdiniInCorso2!IndMittente1 & vbCrLf & _
Forms!M_SubOrdiniInCorso2!IndMittente2 & vbCrLf & _
Forms!M_SubOrdiniInCorso2!CapMittente & " " & Forms!M_SubOrdiniInCorso2!CittaMittente _
& vbCrLf & vbCrLf & _
"Luogo di consegna: " & vbCrLf & _
Forms!M_SubOrdiniInCorso2!NomeDestinatario & vbCrLf & _
Forms!M_SubOrdiniInCorso2!IndDestinatario1 & vbCrLf & _
Forms!M_SubOrdiniInCorso2!IndDestinatario2 & vbCrLf & _
Forms!M_SubOrdiniInCorso2!CapDestinatario & " " & Forms!M_SubOrdiniInCorso2!CittaDestinatario _
& vbCrLf & vbCrLf & _
"Elenco veicoli: " & vbCrLf & _
Forms!M_SubOrdiniInCorso2!DescrizioneMerce, _
True
Forms!M_SubOrdiniInCorso2!Comando67.SetFocus
End If
End Sub

Private Sub Form_Current()
Me!ZPippo = Null
Me!WPippo = Null
End Sub

Private Sub IDCamion_GotFocus()
If Me!IDVettore > 99 Then
Me.IDCamion = 0
Else
Me!IDCamion.SetFocus
End If
End Sub

Private Sub IDCamion_LostFocus()
Dim curZ As Integer
If IsNull(Me!IDTratta) Then
    Me!IDTratta = DMax("[IDTratta]", "t_Tratte") + 1
End If

If Not IsNull(Me!DataCarico) Then
    Me.DataScarico.SetFocus
    Else
    DoCmd.RunCommand acCmdSaveRecord
    If Me!IDVettore < 100 Then
        curZ = 0
        Else
        curZ = Me!IDVettore
    End If
    Me!WPippo = curZ
    Dim curM As String
    curM = Forms!M_SubOrdiniInCorso2!IDCliente & Left(Forms!M_SubOrdiniInCorso2!CittaMittente, 3) _
    & Left(Forms!M_SubOrdiniInCorso2!CittaDestinatario, 3) & Me!WPippo & "?"
End If

End Sub

Private Sub IDTariffaF_DblClick(Cancel As Integer)
DoCmd.OpenForm "M_TariffeVettori", , , , acFormAdd, acDialog, "GotoNew"
Me!IDTariffaF.Requery
Response = acDataErrAdded
End Sub

Private Sub IDTariffaF_GotFocus()
If IsNull(Forms!M_SubOrdiniInCorso2!DataInizioTrasporto) Then
        Dim curM As String
        curM = Forms!M_SubOrdiniInCorso2!IDCliente & Left(Forms!M_SubOrdiniInCorso2!CittaMittente, 3) _
        & Left(Forms!M_SubOrdiniInCorso2!CittaDestinatario, 3) & Me!WPippo & "?"
        If IsNull(Me!IDTariffaF) Then
            Me.IDTariffaF = curM
            msgbox ("togliere il carattere ? prima di proseguire al campo successivo"), vbOKOnly
        Else
            Me!IDTariffaF.SelStart = Len("" & Me!IDTariffaF)
        End If
Else
Me!IDTariffaF.SelStart = Len("" & Me!IDTariffaF)
End If

End Sub

Private Sub IDTariffaF_KeyPress(KeyAscii As Integer)
    Dim strCar As String
    strCar = Chr(KeyAscii)
    KeyAscii = Asc(UCase(strCar))
End Sub

Private Sub IDTariffaF_LostFocus()
Me!DataCarico.SetFocus
End Sub

Private Sub IDTariffaF_NotInList(NewData As String, Response As Integer)
Me!ZPippo = NewData
DoCmd.OpenForm "M_TariffeVettori", , , , acFormAdd, acDialog, "GotoNew"
  Me!IDTariffaF.Requery
Response = acDataErrAdded
End Sub

Private Sub IDVettore_DblClick(Cancel As Integer)
DoCmd.OpenForm "M_Vettori"
End Sub


text:
[CUT]

Non ci siamo.
Ho dato un'occhiata al listato e vedo solo un susseguirsi di GotFocus...
LostFocus con riferimenti continui alla maschera e dei Saverecord sparsi
in giro.

La routine oggetto di questo thread manco prende in considerazione il
suggerimento che ti avevo dato nonostante tu affermi di aver provato e
riprovato. Io non mi ci raccapezzo in questo modo di agire. Mi dispiace,
ma non posso esserti di aiuto.


title: PROBLEMA CON UTILIZZO MS-ACCEESS97 E MS-ACCESS2000

author: Frank

text:
Ciao a tutti.
Ho un pc con installato Access97, Access2000, sia con W98 o WXPPRO,
non cambia.
Ho un database realizzato con Access97, ed alcuni database realizzati
con Access2000.
Se lancio Access97 per aprire il database realizzato con Access97,
anche tutti i database realizzati con Access2000 prendono l'icona di
97 (senza essere stati toccati) e quando in seguito decido di aprirli,
cliccando sui file, appare un messaggio che dice che essi non possono
essere aperti, perchè sono realizzati per una versione di Access
diversa.
In pratica accade che essi non si aprono naturalmente con Access2000,
come dovrebbero, perchè la precedente apertura di Access97 determina
questo problema.
Qualcuno sa come risolverlo ?
E' un problema della coesistenza dei due Access o può esssere risolto
con quanche configurazione ?
Grazie.
Frank


author: Roberto da casa

text:
"Frank" <
archi...@virgilio.it
> ha scritto nel messaggio
news:ed713bc2.04032...@posting.google.com...
> Ciao a tutti.
> Ho un pc con installato Access97, Access2000, sia con W98 o WXPPRO,
> non cambia.
> Ho un database realizzato con Access97, ed alcuni database realizzati
> con Access2000.
> Se lancio Access97 per aprire il database realizzato con Access97,
> anche tutti i database realizzati con Access2000 prendono l'icona di
> 97 (senza essere stati toccati) e quando in seguito decido di aprirli,
> cliccando sui file, appare un messaggio che dice che essi non possono
> essere aperti, perchč sono realizzati per una versione di Access
> diversa.
> In pratica accade che essi non si aprono naturalmente con Access2000,
> come dovrebbero, perchč la precedente apertura di Access97 determina
> questo problema.
> Qualcuno sa come risolverlo ?
> E' un problema della coesistenza dei due Access o puň esssere risolto
> con quanche configurazione ?
> Grazie.
> Frank
Quando in un computer hai installato piů di una versione di Access, devi
PRIMA aprire l'applicativo con cui vuoi lavorare e solo dopo con esso aprire
il filemdb o mde.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


author: ALESSANDRO Baraldi

text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:15E9c.97985$FJ6.3...@twister1.libero.it...
>
> "Frank" <
archi...@virgilio.it
> ha scritto nel messaggio
> news:ed713bc2.04032...@posting.google.com...
> > Ciao a tutti.
> > Ho un pc con installato Access97, Access2000, sia con W98 o WXPPRO,
> > non cambia.
> > Ho un database realizzato con Access97, ed alcuni database realizzati
> > con Access2000.
> > Se lancio Access97 per aprire il database realizzato con Access97,
> > anche tutti i database realizzati con Access2000 prendono l'icona di
> > 97 (senza essere stati toccati) e quando in seguito decido di aprirli,
> > cliccando sui file, appare un messaggio che dice che essi non possono
> > essere aperti, perchè sono realizzati per una versione di Access
> > diversa.
> > In pratica accade che essi non si aprono naturalmente con Access2000,
> > come dovrebbero, perchè la precedente apertura di Access97 determina
> > questo problema.
> > Qualcuno sa come risolverlo ?
> > E' un problema della coesistenza dei due Access o può esssere risolto
> > con quanche configurazione ?
> > Grazie.
> > Frank
>
> Quando in un computer hai installato più di una versione di Access, devi
> PRIMA aprire l'applicativo con cui vuoi lavorare e solo dopo con esso
aprire
> il filemdb o mde.
>
> --
> Roberto
>
Io in questo caso ho risolto creando un Link e modificando la riga di
lancio.
Questo lo eseguo sempre anche in pacchetti d'installazione in modo da non
avere problemi.
Questo esempio lancia A_2K quindi il file e risolve il problema.
"C:\Programmi\Microsoft Office\Office10\MSACCESS.EXE"
"C:\Programmi\TuaDIR\NomeFile.mdb"
Ovviamente in un Setup la cosa non è semplice, in quanto va rilevata la PATH
del programma
che ricavi dal Registry, a meno che non installi il RUNTIME, allora sai già
dove lo posizioni
e di conseguenza generi la Stringa......!!!
Ciao.
@Alex.


title: "Dimensione di un campo eccessiva".Impossibile entrare nel DB

author: Dino

text:
Ciao a tutti.Ho un DB BE FE.nel quale non riesco piu' ad entrare.Ho
inserito l'ultimo record proprio oggi e poi ho chiuso il DB.Nel
rientrare mi da la segnalazione di "Dimensione di un campo
eccessiva".Il problema e' ovviamente rilegato alla parte del DB
BE.Come posso rientrare nel Sw o meglio come posso salvare le
tabelle???Ho provato ad importarle in un nuovo DB ma non me lo
permette.
Confido in voi per una risoluzione urgente!!!!
Grazie in anticipo Dino


author: almorel

text:

Ciao, mi rendo conto della tragedia.....
Hai provato a vedere nel sito di Karl ?
(
http://www.donkarl.com/it/
)
c'è qualche indicazione per casi del genere.
Ciao
Alberto


text:

Grazie per la risposta.Ha te personalmente non e' mai capitato???
Dino


author: Antonio

text:
"Dino" <
verreng...@alice.it
> ha scritto nel messaggio
news:f5cfe1ab-2bcb-4333...@e1g2000yqh.googlegroups.com...

Per caso si blocca nella maschera di apertura ? Se � cos�, prova ad
eseguirlo tenendo pigiato il tasto delle maiuscole: in questo modo eviti di
far eseguire la prima maschera e si limita a caricarlo in memoria.
Ciao
Antonio


author: Carlo Costarella

text:
"Dino" <
verreng...@alice.it
> ha scritto nel messaggio
news:f5cfe1ab-2bcb-4333...@e1g2000yqh.googlegroups.com...

Se ti fa piacere prova a mandarmi il db completo e zippato e vedo cosa si
pu� fare.
Ciao, Carlo


text:
On 27 Feb, 20:33, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
> "Dino" <
verrengia.d...@alice.it
> ha scritto nel messaggionews:f5cfe1ab-2bcb-4333...@e1g2000yqh.googlegroups.com...
>
> > Ciao a tutti.Ho un DB BE FE.nel quale non riesco piu' ad entrare.Ho
> > inserito l'ultimo record proprio oggi e poi ho chiuso il DB.Nel
> > rientrare mi da la segnalazione di "Dimensione di un campo
> > eccessiva".Il problema e' ovviamente rilegato alla parte del DB
> > BE.Come posso rientrare nel Sw o meglio come posso salvare le
> > tabelle???Ho provato ad importarle in un nuovo DB ma non me lo
> > permette.
> > Confido in voi per una risoluzione urgente!!!!
>
> > Grazie in anticipo Dino
>
> Se ti fa piacere prova a mandarmi il db completo e zippato e vedo cosa si
> può fare.
>
> Ciao, Carlo
OK.Provvedo subito.Grazie mille.


text:
On 27 Feb, 19:04, "Antonio" <
antonewsgr...@tiscali.it
> wrote:
> "Dino" <
verrengia.d...@alice.it
> ha scritto nel messaggionews:f5cfe1ab-2bcb-4333...@e1g2000yqh.googlegroups.com...> Ciao a tutti.Ho un DB BE FE.nel quale non riesco piu' ad entrare.Ho
> > inserito l'ultimo record proprio oggi e poi ho chiuso il DB.Nel
> > rientrare mi da la segnalazione di "Dimensione di un campo
> > eccessiva".Il problema e' ovviamente rilegato alla parte del DB
> > BE.Come posso rientrare nel Sw o meglio come posso salvare le
> > tabelle???Ho provato ad importarle in un nuovo DB ma non me lo
> > permette.
> > Confido in voi per una risoluzione urgente!!!!
>
> > Grazie in anticipo Dino
>
> Per caso si blocca nella maschera di apertura ? Se è così, prova ad
> eseguirlo tenendo pigiato il tasto delle maiuscole: in questo modo eviti di
> far eseguire la prima maschera e si limita a caricarlo in memoria.
>
> Ciao
> Antonio
Ho provato Antonio ma non funge lo stesso.
Grazie
Dino


title: sommare totali di singoli campi di una stessa data

author: Claudio

text:
In una maschera ho un campo data,un campo nome , e tre campi importo.
ho creato un campo calcolato che somma i singoli importi ed č il totale per
singolo utente
Fin qui tutto bene
Vorrei creare un altro campo dove visualizzare il totale giornaliero
dato che in uno stesso giorno afferiscono piů utenti. (Quindi piů record con
la stessa data)
Ma non riesco a trovare una formula adatta per sommare i totali per singolo
utente dello stesso giorno
Qualcuno puň darmi un'indicazione.
Grazie Claudio


author: Fabio

text:
"Claudio" <
claudio...@libero.it
> ha scritto nel messaggio
news:j9gp9.13099$RO.2...@twister1.libero.it...

Guarda l'help della funzione DSum
Ciao, Fabio


title: un altra domanda d'aiuto

author: Er Pirata

text:
come si fa a fare una maschera che faccia la ricerca di una tabella che si
basa sui campi si/no che siano solo abilitati e che con un pulsante mi dia
in uscita subito un report?


title: un altra domanda d'aiuto

text:
"Er Pirata" <
france...@supereva.com
> ha scritto nel messaggio
news:8usfju$i5d$1...@lacerta.tiscalinet.it...
> come si fa a fare una maschera che faccia la ricerca di una tabella che si
> basa sui campi si/no che siano solo abilitati e che con un pulsante mi dia
> in uscita subito un report?
>
>
Prendo per buono il fatto che il report in questione si basa sulla tabella
contenente il campo si/no; quindi se devi solo controllare lo stato di un
controllo(!) si/no e aprire un report ti basta un bottone con il seguente
codice nell'evento 'su clic':
'------------
docmd.OpenReport "NomeReport",acViewPreview,,"[nomeCampoSi/no]=" &
me!NomeControlloSiNo
'-------------
Ciao.


title: Record nuovo

author: Digitale

text:
Eseguo alcuni controlli di congruenza dati all'evento Form_Current.
Dovrei condizionare questi controlli solo nel caso in cui l'applicazione
sia nello stato di aggiornamento o cancellazione di un record e non
quanto sono nella fase di immissione di un nuovo record del database.
E' possibile sapere in che "stato" e' la form ?
- immissione/aggiunta record
- aggiornament/variazione
Grazie


title: Record nuovo

author: Silvio Berruti

text:
"Digitale" <
cbatelie...@tin.it
> ha scritto nel messaggio
news:p05m7.121298$TS4.1...@news2.tin.it...

Guarda la proprietą Dirty e la proprietą NewRecord.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


title: Record nuovo

author: Roberto dal portatile

text:
"Digitale" <
cbatelie...@tin.it
> ha scritto nel messaggio
news:p05m7.121298$TS4.1...@news2.tin.it...

Sull'help prova a cercare Proprietą NewRecord e Proprietą Dirty; testando
tali proprietą della maschera, puoi sapere se il record corrente č un nuovo
record e/o se il record corrente č stato variato dall'ultimo salvataggio.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Intestazione colonne su report a piu colonne

author: roma

text:
ho un report con 2 colonne, come posso portare l'intestazione della
colonna anche sulla seconda?
Mi spiego meglio:
ho un elenco di materiale con codice e tipo del materiale, il report
lo faccio su due colonne come posso portare l'intestazione anche sulla
seconda colonna?
Grazie


text:
"roma" <
romano...@gmail.com
> ha scritto nel messaggio
news:1180359172.1...@k79g2000hse.googlegroups.com...

Nello spiegarti meglio non ti sei accorto di riscrivere esattamente la
stessa cosa!
Ti riferisci forse alle intestazioni nelle pagine successive alla prima?
Ciao, Carlo


title: Me.Refresh

author: Pino uff.

text:
Salve
Su evento clic anteprima report ho messo Me.Refresh per aggiornare un
campo calcolato e un
controllo boleano sul campo calcolato. La cosa non funziona bene perchè il
tutto va troppo veloce.
Avete qualche consiglio?
Grazie Pino
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Me.Refresh

author: Alessandro Baraldi

text:
"Pino uff." <
mi...@msn.com
> wrote in message
news:dj05et$uj$
1...@news.newsland.it
> Salve
> Su evento clic anteprima report ho messo Me.Refresh per aggiornare un
> campo calcolato e un
> controllo boleano sul campo calcolato. La cosa non funziona bene perchè il
> tutto va troppo veloce.
> Avete qualche consiglio?
> Grazie Pino
Innanzitutto il metodo da usare sarebbe Recalc, poichè RefreshIl metodo
Refresh
mostra solo le modifiche apportate ai record del set corrente.. non
rieseguendo
la Query come fà invece Requery.
Il metodo Recalc, invece come cita l'Help riesegue immediatamente
il ricalcolo dei campi calcolati.
Saluti.
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: routine x trasformare txt da random a sequenziale

author: LivioLampo

text:
Questa routine mi e' stata data da Paolo A. la posto qui nel ng per dare la
soluzione a chiunque abbia  il mio stesso problema ovvero trasformare un
file di txt random in formato sequenziale.
Colgo l'occasione x ringraziare Paolo A. per la sua disponibilita' (da solo
non ce l'avrei fatta!):
Saluti LivioLampo
A voi la routine:
Sub DaRandomASequenziale()
    Dim rec As String * 10
    Open "c:\documenti\prova.txt" For Random As #1 Len = Len(rec)
    Open "C:\documenti\provaSec.txt" For Output As #2
    Do Until EOF(1)
        Get #1, , rec
        Print #2, rec
    Loop
    Close #1, #2
End Sub


title: Problemi con acCmdSaveRecord

author: Raffaele Alberoni

text:
Buonasera a tutti,
avrei il seguente problema:
ho qualche istruzione disseminata durante l'inserimento di dati relativi
ad un record di questo tipo:
 DoCmd.RunCommand acCmdSaveRecord
L'inserimento avviene in una sottomaschera.
Ogni tanto ottengo l'errore del "Segnalibro non valido"
Non ho capito il motivo... E' evidente che ho qualche lacuna a tal
proposito per evitare questo errore.
Grazie a tutti per l'attenzione prestata
--
Raffaele Alberoni
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Problemi con acCmdSaveRecord

author: Sergio MAZZA

text:
"Raffaele Alberoni" <
cpe...@libero.it
> ha scritto nel messaggio
news:f70jjf$fr6$1...@news.newsland.it...
> Buonasera a tutti,
> avrei il seguente problema:
> ho qualche istruzione disseminata durante l'inserimento di dati relativi
> ad un record di questo tipo:
> DoCmd.RunCommand acCmdSaveRecord
>
> L'inserimento avviene in una sottomaschera.
> Ogni tanto ottengo l'errore del "Segnalibro non valido"
>
> Non ho capito il motivo... E' evidente che ho qualche lacuna a tal
> proposito per evitare questo errore.
> Grazie a tutti per l'attenzione prestata
>
>
>
> --
> Raffaele Alberoni
L'uso del RunCommand, in qualche caso, presenta questi problemi perché per
eseguire il comando/azione indicato dalla costante deve essere selezionato
(focus) l'oggetto che dovrebbe ricevere il comando/azione.
Es. Se, a mano, selezioni un record (RunCommand acCmdCopy) e tenti di
incollarlo su un qualsiasi oggetto che non può ricevere i dati (es. un
report) hai, nella migliore delle ipotesi, un messaggio di errore; oppure il
comando incolla non è abilitato.
Prova a sostituire l'azione acCmdSaveRecord con il metodo Refresh:
Me.Refresh; magari facendo un test se effettivamente c'è qualcosa da salvare
(Dirty):
es.
If Me.Dirty Then
    Me.Refresh
End if
Ciao.
--
Sergio MAZZA


title: Access e record cancellati

author: u ri bo senza senza@ticonscaliconnet.it Max

text:
Salve a tutti!
                        Vi scrivo quasi per disperazione dopo aver tentato
invano nei NG di cercare una soluzione al mio quesito.
Ho realizzato un piccolo applicativo che serve a registrare tutte le
richieste di assistenza tecnica che necessitano nei vari uffici dislocati su
edifici diversi tutti collegati tramite una intranet e LAN interne ai vari
uffici. Questo applicativo è stato realizzato in linguaggio ASP (e se mi
permettete lo giro anche al Gruppo it.comp.www.asp) e come base dati  ho
usato ACCESS.
Ho realizzatore un contatore numerico (ahimè!!!) che numera i record ogni
volta che si effettua una richiesta e, mannaggia!!, questo serve anche come
numero assegnato alla pratica da espletare.
All'inizio fatte delle prove via web tutto funzionava alla perfezione...
senonchè... inserito su di un web server interno alla intranet capita non
sempre che il contatore numerico salti dei numeri (per esempio dal record 21
al 27) senza lasciare traccia di quelli intermedi (22, 23, 24, etc.)
scomparsi!!!
Dopo varie ricerchè e prove anche durante un tentativo di richiesta fatta da
fruitori del servizio in rete ho potuto verificare che,  in particolar modo
oggi, succede che dopo aver compilato il form per l'invio non compare la
pagina che visualizza il numero di prot. assegnato (corrispondente al numero
di record occupato) e che risponde che la richiesta è andata a buon fine,
con un "errore visualizzazione pagina". Per cui il richiedente tornando
indietro sul form con le freccette di internet explorer riclicca su invia
diverse volte ed alla fine i record mancanti corrispondono a gli input dati
sul tasto invio non andati a buon fine.
Penso che il problema sta proprio qui e pertanto volevo chiedervi se esiste
una opzione in Access che blocca la possibilità di eliminare un record o
evitare di far scrivere un record inesistente.
Spero di essere stato chiaro.
Max


title: Access e record cancellati

author: MA

text:

Se hai affidato il tutto ad un campo contatore e sul load della pagina
questo contatore scatta,
c'è poco da fare.
Per quanto riguarda il lato Access (poi per Asp ti risponderanno i "cugini")
ti conviene crearti tu un Contatore con un dmax su evento conferma, che puoi
gestire meglio.
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: Access e record cancellati

author: Gaspare Calia

text:
[CUT]
> oggi, succede che dopo aver compilato il form per l'invio non compare la
> pagina che visualizza il numero di prot. assegnato (corrispondente al
> numero
> di record occupato) e che risponde che la richiesta è andata a buon fine,
> con un "errore visualizzazione pagina". Per cui il richiedente tornando
> indietro sul form con le freccette di internet explorer riclicca su invia
> diverse volte ed alla fine i record mancanti corrispondono a gli input
> dati
> sul tasto invio non andati a buon fine.
Ciao,
fossi in te lavorerei anche sul codice asp controllando che siano
giustamente inseriti i campi indispensabili e gestendo gli errori in maniera
tale che non venga fuori "errore visualizzazione pagina" -> se lavori sul db
in maniera giusta puoi focalizzare l'intervento su "asp" anzichè su "access"
! ;-)
Buona giornata :-)


title: Access e record cancellati

text:
"Max" <ma u ri bo senza se...@tiCONscaliCONnet.it> ha scritto nel messaggio news:BYDRe.6964$4g5.4...@news4.tin.it...

In questo caso (programmazione Web ASP)+Access, quest'ultimo non centra nulla e nulla può fare, perché il suo compito è solo quello
di scrivere/eliminare i record.
Devi risolvere tu il problema in ASP; dovresti verificare, una volta inviati i dati (Submit della form) se il record è stato
scritto; in caso positivo visualizzerai il numero ID (contatore, univoco) assegnato da access (qualsiasi esso sia). In caso negativo
potresti o ripresentargli la form, con tutti i dati inseriti, pronta per essere  re-inviata o (aberrante soluzione!) una pagina di
errore...
Ciao.
--
Sergio MAZZA


title: Access e record cancellati

text:
[CUT]
http://www.webaiuto.it/guide/asp/undicesimo.php


title: Access e record cancellati

text:
Grazie a tutti per la risposta.
In effetti il problema l'ho risolto (almeno credo) direttamente sulla pagina
ASP e modificando sul db il valore dell'ID (protocollo) da contatore a
numerico. Ho poi scritto la seguente istruzione sulla pagina ASP che genera
il nuovo record con questo script:
sql="SELECT MAX(id) AS [max] FROM richiestamanutenzione;"
rs.Open sql, connessione,3,3
max=rs("max")
rs.close
che non fa altro che estrapolare il valore massimo della colonna id, mentre
un po' più sotto c'è l'assegnazione per il nuovo record fatta
dall'istruzione
rs("id")=max+1
e cioè legge il valore massimo e aggiunge +1 al successivo, cosi anche se
dovesse generare l'errore di pagina non dovrebbe saltarmi il numero
successivo.
Il dubbio rimane nel caso in cui il db dovesse comunque assegnare un numero
ad un record visibile ma vuoto.
Sto testando e se non sono troppo fuori tema vi terrò informati...
Ciao
Max


title: esportare un oggetto ole

author: Pokoto

text:
bhè, ieri mi avete risolto un problema così velocemente che quasi
quasi ci riprovo
Nel mio file refertazione (per i curiosi vedi questo post
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/6ef18681fd9f2ebd?hl=it
)
vorrei che l'utente possa allegare un immagine al record
Finora ho usato i maledetti campi ole, che "ingrassano" il db alla
velocità della luce, ma che d'altro canto sono veramente comodi (ci si
applica l'imagine col copia/incolla)
Ora vorrei che le immagini rimanessero fuori dal db ma che
l'immagazzinamento dell'immagine rimanesse lo stesso così semplice
(gli utenti del mio db sono abbastanza ignorantelli dal punto di vista
informatico, il problema vero è che purtroppo io lo sono solo poco
meno)
Avevo pensato di creare una maschera apposta con un bel campo ole, gli
utenti ci inccolano l'immagine e dando il click l'immagine viene
esportata in un file con nominazione automatica (imagine1.jpg,
immagine2.jpg, ecc..), a quel punto non dovrei fare altro che associare
il path dell'immagine al record relativo (e questa dovrebbe essere la
parte semplice)
Il problema è che non riesco ad esportare l'immagine, ho usato la faq
5.10 del sitocomune, ho messo tutto il codice DAO sull'evento click
della maschera (ho creato l'apposita tabella collegata al campo ole
della mia maschera), ma quando faccio partire la sub non viene creato
il file (nessun errore viene mostrato, il codice viene letto
regolarmente, ho persino messo un messaggio in fondo alla sub che
puntualmente mi viene mostrato)
Quale potrebbe essere il problema ?
E' corretto posizionare tutto il codice sulla machera ?
Potrebbero mancarmi delle librerie ?
Io uso office2003 su windows 2000 (non amministratore)
Grazie dell'eventuale aiuto e aguri di buon anno


title: esportare un oggetto ole

author: Pablitomf (Maurizio Facciuti)

text:
[cut]
>Grazie dell'eventuale aiuto e aguri di buon anno
Campo Ole?
mmmm... io lascerei stare...
ho fatto un esempiuccio...
http://www.accessgroup.it/dbs/downl/GestoreImmagini.zip
;-)
--
--
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97, 2000, XP e 2003
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchč un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media."


title: esportare un oggetto ole

author: cidi

text:
"Pablitomf (Maurizio Facciuti)" <
keiko...@libero.it
> ha scritto nel
messaggio news:en3fgf$afi$1...@tdi.cu.mi.it...
> [cut]
>>Grazie dell'eventuale aiuto e aguri di buon anno
>
> Campo Ole?
> mmmm... io lascerei stare...
>
>
> ho fatto un esempiuccio...
>
http://www.accessgroup.it/dbs/downl/GestoreImmagini.zip
>
> ;-)
>
> --
> --
> Ciao
>
> Pablitomf (Maurizio Facciuti)
oltre quanto consigliato da Maurizio, sul sito di  Alex Baraldi
ci sono due esempi molto utili.
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=117
Ciao
Daniele


title: esportare un oggetto ole

text:
innanzitutto grazie per le risposte,
entrambi gli esempi che mi avete suggerito però non fanno esattamente
al caso mio
Io vorrei mantenere la possibilità per l'utente del copia-incolla,
quindi magari copiare il contenuto di un'immagine nell'oggetto OLE di
una maschera e poi da questa esportare l'immagine in maniera automatica
(naturalmente cancellando l'oggetto OLE in seguito all'esportazione)
Come già avevo scritto credo che la faq5.10 del sitocomune sia una
buona risposta al problema, ma purtroppo non riesco a farla funzionare


title: esportare un oggetto ole

author: Carlo Costarella

text:
"Pokoto" <
pok...@gmail.com
> ha scritto nel messaggio
news:1167407986.5...@k21g2000cwa.googlegroups.com...
bhè, ieri mi avete risolto un problema così velocemente che quasi
quasi ci riprovo
Nel mio file refertazione (per i curiosi vedi questo post
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/6ef18681fd9f2ebd?hl=it
)
vorrei che l'utente possa allegare un immagine al record
Finora ho usato i maledetti campi ole, che "ingrassano" il db alla
velocità della luce, ma che d'altro canto sono veramente comodi (ci si
applica l'imagine col copia/incolla)
Ora vorrei che le immagini rimanessero fuori dal db ma che
l'immagazzinamento dell'immagine rimanesse lo stesso così semplice
(gli utenti del mio db sono abbastanza ignorantelli dal punto di vista
informatico, il problema vero è che purtroppo io lo sono solo poco
meno)
Avevo pensato di creare una maschera apposta con un bel campo ole, gli
utenti ci inccolano l'immagine e dando il click l'immagine viene
esportata in un file con nominazione automatica (imagine1.jpg,
immagine2.jpg, ecc..), a quel punto non dovrei fare altro che associare
il path dell'immagine al record relativo (e questa dovrebbe essere la
parte semplice)
----------------------------------------
L'utente cosa sta copiando negli appunti? Da dove copia?
Ciao, Carlo


title: esportare un oggetto ole

text:
Carlo Costarella ha scritto:
> L'utente cosa sta copiando negli appunti? Da dove copia?
> Ciao, Carlo
I miei utenti usano un macchinario che riproduce immagini su video
composito, il computer fa una foto usando uno di quegli aggeggini per
l'aquisizione video e loro allegano al record (...e qui stà il
problema) solo una parte della foto (in pratica, una volta aquisita la
foto, aprono l'immagine con un normale editor grafico, usano lo
strumento ritaglia e prendono il solo riquadro dell'immagine che a loro
interessa)
Ciao


title: esportare un oggetto ole

text:
"Pokoto" <
pok...@gmail.com
> ha scritto nel messaggio
news:1167517184.7...@48g2000cwx.googlegroups.com...
Carlo Costarella ha scritto:


------------------------------------
Benissimo!
La cosa è di gran lunga più semplice...non hai bisogno di alcun controllo
perchè puoi fare tutto in memoria usando le API e adattando una routine di
Lebans modificata da me.
Condizioni indispensabili: riferimento alla libreria STDOLE2.TLB (Ole
automation) e un'immagine in memoria.
In un modulo pubblico:
Option Compare Database
Option Explicit
Public Declare Function apiDeleteObject Lib "gdi32" _
          Alias "DeleteObject" (ByVal hObject As Long) As Long
Public Const vbPicTypeBitmap = 1
 Public Type IID
   Data1 As Long
   Data2 As Integer
   Data3 As Integer
   Data4(7) As Byte
End Type
Public Type PictDesc
   Size As Long
   Type As Long
   hBmp As Long
   hPal As Long
   Reserved As Long
End Type
Public Declare Function OleCreatePictureIndirect Lib _
   "olepro32.dll" _
   (PicDesc As PictDesc, RefIID As IID, _
    ByVal fPictureOwnsHandle As Long, _
    IPic As IPicture) As Long
Public Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal
wFormat As Integer) As Long
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As
Long
Public Declare Function GetClipboardData Lib "user32" (ByVal wFormat As
Integer) As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
Public Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA"
(ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Public Declare Function CopyImage Lib "user32" (ByVal handle As Long, ByVal
un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Const CF_BITMAP = 2
Const CF_PALETTE = 9
Const CF_ENHMETAFILE = 14
Const IMAGE_BITMAP = 0
Const LR_COPYRETURNORG = &H4
Const xlPicture = CF_BITMAP
Const xlBitmap = CF_BITMAP
'Le funzioni che seguono sono state create da Lebans
'Ricorda di citare la fonte
Public Function BitmapToPicture(ByVal hBmp As Long, _
    Optional ByVal hPal As Long = 0&) _
    As IPicture    '
    Dim lngRet As Long
    Dim IPic As IPicture, picdes As PictDesc, iidIPicture As IID
    picdes.Size = Len(picdes)
    picdes.Type = vbPicTypeBitmap
    picdes.hBmp = hBmp
    picdes.hPal = hPal
    iidIPicture.Data1 = &H7BF80980
    iidIPicture.Data2 = &HBF32
    iidIPicture.Data3 = &H101A
    iidIPicture.Data4(0) = &H8B
    iidIPicture.Data4(1) = &HBB
    iidIPicture.Data4(2) = &H0
    iidIPicture.Data4(3) = &HAA
    iidIPicture.Data4(4) = &H0
    iidIPicture.Data4(5) = &H30
    iidIPicture.Data4(6) = &HC
    iidIPicture.Data4(7) = &HAB
    lngRet = OleCreatePictureIndirect(picdes, iidIPicture, True, IPic)
    Set BitmapToPicture = IPic
    End Function
Function GetClipBoard() As Long
Dim hClipBoard As Long
Dim hBitmap As Long
Dim hBitmap2 As Long
 hClipBoard = OpenClipboard(0&)
 If hClipBoard <> 0 Then
    hBitmap = GetClipboardData(CF_BITMAP)
    If hBitmap = 0 Then GoTo exit_error
        hBitmap2 = CopyImage(hBitmap, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG)
        hClipBoard = CloseClipboard
 GetClipBoard = hBitmap2
 Exit Function
 End If
exit_error:
GetClipBoard = -1
End Function
'Quando vuoi tu e avendo un'immagine in memoria, per esempio su clic di un
pulsante:
Private Sub Comando0_Click()
Dim hPix As IPicture
Dim hBitmap As Long
hBitmap = GetClipBoard
Set hPix = BitmapToPicture(hBitmap)
'qui puoi creare una routine per attribuire un nome al file
'che adesso è di fantasia
SavePicture hPix, "C:\" & "pip" & ".bmp"
apiDeleteObject (hBitmap)
Set hPix = Nothing
End Sub
Fammi sapere se funziona.
Intanto ti faccio l'augurio di un ottimo 2007.
Ciao, Carlo


title: esportare un oggetto ole

text:
Grazie infinite, se funzionasse sarebbe grandioso, ti faccio sapere
qualcosa al più presto


title: esportare un oggetto ole

text:
ahhhhhhhhh, funzionaaaaaaaa
Grazie -grazie-grazie,
hai reso questo mio termine d'anno molto migliore


title: esportare un oggetto ole

text:
"Pokoto" <
pok...@gmail.com
> ha scritto nel messaggio
news:1167564559.6...@n51g2000cwc.googlegroups.com...
> ahhhhhhhhh, funzionaaaaaaaa
>
> Grazie -grazie-grazie,
> hai reso questo mio termine d'anno molto migliore
>
>
Eh VAI!!
Si puņ fare anche di meglio salvando in jpg, almeno credo.
Forse la pubblico sul sitocomune.
Ciao, Carlo


title: esportare un oggetto ole

text:
Carlo Costarella ha scritto:
>
> Eh VAI!!
> Si può fare anche di meglio salvando in jpg, almeno credo.
> Forse la pubblico sul sitocomune.
>
> Ciao, Carlo
Scusate se riporto in alto questo thread di qualche decina di giorni fa
ma ho bisogno ancora di un piccolo aiuto al proposito e magari Carlo (
o qualcunaltro) potrà nuovamente aiutarmi:
SavePicture hPix, "C:\" & "pip" & ".bmp"
vorrei che le immagini create dal codice fossero immesse nella stessa
cartella dove é presente il db (o in una sottocartella, farebbe lo
stesso) a prescindere da dove esso si trovi (es: se sto facendo partire
il db da c:\test le immagini devono essere archiviate in c:\test, se lo
sposto in f:\pinco spostare anche la destinazione di creazione
dell'immagine, non quindi quelle già create ovviamente, in f:\pinco)
Grazie ancora una volta
Pokoto


title: esportare un oggetto ole

text:
"Pokoto" <
pok...@gmail.com
> ha scritto nel messaggio
news:1169122866.7...@11g2000cwr.googlegroups.com...





..............................................
Una strada:
Public Function DimmiPath()
    Dim pos, Cartella As String
    Cartella = CurrentDb.Name
    pos = InStr(1, Cartella, ".")
    While Mid$(Cartella, pos, 1) <> "\"
        pos = pos - 1
    Wend
    DimmiPath = Left$(Cartella, pos - 1)
End Function
In questo caso DimmiPath restiuisce per esempio c:
se vuoi avere anche il backslash
DimmiPath = Left$(Cartella, pos - 1)
diventa:
DimmiPath = Left$(Cartella, pos - 1) & "\"
Ciao, Carlo


title: esportare un oggetto ole

text:
"Carlo Costarella" <
carloco...@libero.it
> ha scritto nel messaggio
news:eoo5s7$6ed$1...@tdi.cu.mi.it...
cut
Scusa, dimenticavo la cosa più importante.
la funzione diventa:
Public Function DimmiPath() As String
anzichè Public Function DimmiPath()
Una volta salvata la funzione in un modulo pubblico il tuo spezzone di
codice:
SavePicture hPix, "C:\" & "pip" & ".bmp"
diventa:
SavePicture hPix, DimmiPath & "pip" & ".bmp"
Ciao, Carlo


title: esportare un oggetto ole

text:
Carlo Costarella ha scritto:

Caro Carlo,
ho messo una tua fotografia sul comodino di fianco al mio letto
...naturalmente non é una tua foto ...non so' nemmeno che faccia hai
...in realtà é quella di una famosa pornodiva ma sotto ci ho messo il
tuo nome !!
Scherzo naturalmente, grazie infinite ancora una volta


title: query parametrica controllata da alcuni checkbox

author: Andrea

text:
ecco il mio problema:
in una maschera mi trovo 3 checkbox, in base alla combinazione di
scelta si questi 3 devo modificare l'origine dati di una casella
combinata.
avevo pensato di fare in questa maniera:
ogni volta che uno dei 3 checkbox vengono aggiornati faccio in modo
che venga modificata una variabile di tipo SET (ho usato il nome
pascal, non so se esistono e come vengono chiamate in visual basic)
aggiungendo o togliendo dal SET l'ID dell'elemento relativo al
checkbox. a queto punto nella query che mi origina la casella
combinata aggiungo una clausola WHERE id IN <variabile set>
a questo punto mi chiedo:
- esistono le variabili set in visual basic? non ne ho trovato traccia
- come si può usare una variabile visual basci all'interno di una
query usata come origine riga per una casella combinata?
- esistono modi più "eleganti" per fare quello di cui ho bisogno?
sono un ottimo programmatore di vecchia data (il pascal era il mio
pane quotidiano) che ora ha appeso la tastiera al chiodo, mi trovo
nella necessità di realizzare questa cosa e non so come fare perchè di
nuovi linguaggi ed oggetti ne mastico poco.
potete aiutarmi?


author: aaa

text:
Andrea ha scritto:




> potete aiutarmi?
io pascal non lo conosco
le variabili set non so nemmeno cosa sono però secondo me il metodo
migliore e quello di passare alla casella combinata una query dinamica
appositamente costruita dopo l'aggiornamento dei vari checkbox epoi la
passi alla casella combinata utilizzando la funzione RowSourceType,
RowSource
ciao
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
mai...@libero.it
 (aaa) wrote in message news:<d1eg3l$bvo$
1...@news.newsland.it
>...

ok, mi potresti fare qualche esempio di codice per realizzare questa
cosa? perchè a parole il ragionamento funziona, ma viste le mie
capacità quando si tratta di tradurlo in fatti ho seri problemi


text:

per impostare il controllo si usano queste funzioni
Forms!Impiegati!cmboNomi.RowSourceType = "Tabella/Query"
Forms!Impiegati!cmboNomi.RowSource = "select ...."
per fromare la select è complicato farti un esempio ma prova a scriverti in
un controllo la select base che ti serve ed aggiornala utilizzando il metodo
dopo aggiornamento dei tuoi checkbox
esempio: select aaa from tabella1
dopo aggiornamento la select potrebbe diventare select aaa from tabella1
where bbb=10
fai qulache prova non è complicato.
ciao
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: metodo "additem" non trovato

author: LoTo

text:
DB fatto con access 2000.
Se cerco di usare il metodo in oggetto mi da il fatale errore:
"Impossibile trovare il metodo o il membro dei dati (errore 461)"
e infatti se vado al visualizzatore di oggetti "AddItem" non c'e'!
????
Nella guida in linea il metodo e' elencato e illustrato.
Devo forse caricare qualche Riferimento particolare?


title: metodo "additem" non trovato

text:
"LoTo" <
bla...@freemail.it
> ha scritto nel
messaggio
news:capbgl$csr$1...@carabinieri.cs.interbusiness.it...

dao 3.6
MAssimiliano


title: metodo "additem" non trovato

text:
MA ha scritto:
> dao 3.6
> MAssimiliano
>
DAO 3.6 e' gia' presente nei riferimenti...
Alla fine, partendo dall'esempio FiltraSottomaschera di Roberto Massoni
trovato sul sitocomune ho utilizzato il metodo ItemsSelected per
trasferire i dati da una listbox ad una textbox visibile, per poter
vedere cosa avevo selezionato, e ad una textbox nascosta per comporre
l'istruzione sql.


title: metodo "additem" non trovato

author: ALESSANDRO Baraldi

text:
"LoTo" <
bla...@freemail.it
> ha scritto nel messaggio
news:caro8m$qjb$1...@fata.cs.interbusiness.it...

Il metodo AddItem è tipico degli Oggetti Bound di VB, e solo
a partire da Access_XP è stato implementato nei controlli Combo e List.
Ovvio pertanto che con A2000 non siano supportati.
La tua domanda per essere più facilmente intuibile doveva spiegare cosa
volevi ottenere....!
@Alex.


title: metodo "additem" non trovato

text:
ALESSANDRO Baraldi ha scritto:
> Il metodo AddItem è tipico degli Oggetti Bound di VB, e solo
> a partire da Access_XP è stato implementato nei controlli Combo e List.
>
> Ovvio pertanto che con A2000 non siano supportati.
>
> La tua domanda per essere più facilmente intuibile doveva spiegare cosa
> volevi ottenere....!
>
> @Alex.
Si, hai ragione e mi scuso di non essere sto piu' esaustivo ma, dato che
ho trovato il metodo in questione in vari esempi del sitocomune che
trasferivano dati tra 2 listbox (e tutti per access 97), ho pensato si
trattasse di un problema di librerie non correttamente registrate o che
in ultimo si trattasse di rimuovere e re-installare office ma prima di
imbarcarmici volevo qualche conferma...
poi ho provato a far girare quegli stessi esempi su un'altra macchina e
con gli stessi risultati e ho capito che il problema non era quello ma
oramai avevo gia' scritto!
Tuttavia rimane il mistero di quegli esempi... e' possibile che se
quelli che li hanno implementati avevano installato cose tipo Visual
Basic Studio il problema venisse aggirato? Io ho i run-time di VB6 ma
non serve...


title: metodo "additem" non trovato

text:
"LoTo" <
bla...@freemail.it
> wrote in message
[CUT]
>
> Si, hai ragione e mi scuso di non essere sto piu' esaustivo ma, dato che
> ho trovato il metodo in questione in vari esempi del sitocomune che
> trasferivano dati tra 2 listbox (e tutti per access 97), ho pensato si
> trattasse di un problema di librerie non correttamente registrate o che
> in ultimo si trattasse di rimuovere e re-installare office ma prima di
> imbarcarmici volevo qualche conferma...
> poi ho provato a far girare quegli stessi esempi su un'altra macchina e
> con gli stessi risultati e ho capito che il problema non era quello ma
> oramai avevo gia' scritto!
> Tuttavia rimane il mistero di quegli esempi... e' possibile che se
> quelli che li hanno implementati avevano installato cose tipo Visual
> Basic Studio il problema venisse aggirato? Io ho i run-time di VB6 ma
> non serve...
Quegli esempi forse usavano OCX(listView magari...???).
In ogni caso il Metodo Additem lo puoi implementare tu scrivendo una
procedura in una Classe...(ce n'è già fatte, ma non serve a molto)
@ALex.
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Ultimo Record Inserito

author: Fausto

text:
Ciao a tutti.
Ho un problema con la programmazione in Access : ho costruito un pgm
in cui posso inserire, leggere, modificare o cancellare dei record
tramite una maschera in VB.
Il problema si verifica nella fase d'inserimento, io vorrei che in
automatico il programma legga una tabella e che mi restituisca in un
campo della maschera un campo dell'ultimo record che ho inserito.
Qualcuno potrebbe essere così gentile da spiegarni con che istruzione
posso estrapolare un valore dell'ultimo record inserito in tabella ?.
Grazie in anticipo.
Fausto.


title: Ultimo Record Inserito

text:

usa dmax
--
--
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


title: Fondamentali: sottomaschera su query parametrizzata

text:
Ciao ng.
Ho una maschera che include una sottomaschera, la maschera non è legata ad
una sorgente dati ma semplicemente permette all'utente di inserire una data
in un textbox quindi cliccando un pulsante viene visualizzata la
sottomaschera che è basata su una query parametrizzata dove il parametro è
la data che l'utente ha imputato nella maschera madre.
La necessità è quella di impostare il parametro alla query della
sottomaschera via codice; è possibile? Qualcuno mi può indirizzare sulla
giusta strada?
Grazie.


author: namor

text:
Andrea ha scritto:

Invece che usare un parametro puoi usare come criterio direttamente il
valore della textbox della form:
Prova a mettere nella query un criterio simile:
Forms("nomeform")!nometextbox
Namor
--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
Grazie, giusto quello che cercavo!
Ciao


title: Transazioni

author: Max

text:
Salve a tutto il NG. Ho questo problema:
tramite una maschera collegata ad una tabella di anagrafica inserisco i vari
record. Quando l'utente preme il pulsante SALVA, devo forzare da codice un
salvataggio nella tabella, per poter recuperare il valore del campo ID
(campo numerico autoincrementante) assegnatomi DOPO il salvataggio; con tale
valore vado poi a eseguire determinate operazioni che, se hanno esito
positivo, mi comportano la chiusura della maschera, altrimenti, se l'esito č
negativo, devo annullare il record appena salvato e posizionare il cursore
nel primo campo della maschera per far sě che l'utente reinserisca dei
valori corretti.
Ora, l'unico modo che ho trovato per salvare il record nella tabella SENZA
CHIDUERE LA MASCHERA o spostarmi di record ecc.. č:
DoCmd.RunCommand acCmdSaveRecord
Ho pensato di mettere in testa ed in coda alla routine il BeginTrans ed il
CommitTrans e, nel caso qualcosa non vada a buon fine, il RollBack. La mia
sorpresa č che Access se ne frega delle transazioni, nel senso che
DoCmd.RunCommand acCmdSaveRecord salva il record punto e basta.
L'idea era:
BeginTrans
DoCmd.RunCommand acCmdSaveRecord
ID=Me(Campo_ID)
..esegui operazioni con ID
se errore RollBack:esci
Committrans
Chiudi
ma non funziona. Addirittura ho provato semplicemente a creare una maschera
per l'inserimento di un record in una tabella con un campo. Prima di aprire
la maschera, dalla finestra di debug digito: BeginTrans, poi apro la
maschera, inserisco il record, la chiudo, torno sulla finestra di debug
edigito Rollback e mi da "Si č cercato di confermare o annullare una
transazione senza prima utilizzare BeginTrans" - il record č correttamente
salvato nelal tabella
Se invece apro direttamente la tabella ed inserisco il record a mano, non mi
viene visualizzato l'errore di cui sopra, ma comunque il record non viene
scartato dal Rollback.
Sembra quindi che le transazioni funzionino solo utilizzando il
CurrentDatabase.Execute.. e non direttamente con gli oggetti Access.
Ma la cosa č strana. Funziona davvero cosě?? C'č un modo alternativo?? Non
vorrei ridurmi a utilizzare Access con i soli INSERT INTO, UPDATE e DELETE
FROM solo perchč le transazioni non funzionano.
Grazie a tutti.


title: Transazioni

author: Sib

text:
"Max" <
mini...@libero.it
> ha scritto nel messaggio
> Salve a tutto il NG. Ho questo problema:
>
> tramite una maschera collegata ad una tabella di anagrafica inserisco i
vari
> record. Quando l'utente preme il pulsante SALVA, devo forzare da codice un
> salvataggio nella tabella, per poter recuperare il valore del campo ID
> (campo numerico autoincrementante) assegnatomi DOPO il salvataggio;
Nondirei proprio "dopo". Il campo contatore viene assegnato subito, non
appena si inizia a digitare qualcosa. Quindi il campo ID e' immediatamente
disponibile, senza bisogno che il record venga salvato.
> con tale
> valore vado poi a eseguire determinate operazioni che, se hanno esito
> positivo, mi comportano la chiusura della maschera, altrimenti, se l'esito
č
> negativo, devo annullare il record appena salvato e posizionare il cursore
> nel primo campo della maschera per far sě che l'utente reinserisca dei
> valori corretti.
>
> Ora, l'unico modo che ho trovato per salvare il record nella tabella SENZA
> CHIDUERE LA MASCHERA o spostarmi di record ecc.. č:
> DoCmd.RunCommand acCmdSaveRecord
Puoi anche usare SendKeys "~+", True
> Ho pensato di mettere in testa ed in coda alla routine il BeginTrans ed il
CUT
Le transazioni operano a livello di motore database, non di applicazione.
Se consideri che le maschere fanno parte integrante dell'applicazione e non
hanno niente a che vedere con il motore del database, i conti sono presto
fatti.
CUT
> Sembra quindi che le transazioni funzionino solo utilizzando il
> CurrentDatabase.Execute.. e non direttamente con gli oggetti Access.
Ovvio.
CurrentDB.Execute (non CurrentDatabase) opera sfruttando il motore database
appunto.
Usa l'evento beforeUpdate e vedrai che cio' che vuoi fare trovera' rapida e
semplice soluzione.
Sib


title: Transazioni

text:
OK, quello dell'ID era solo uno dei motivi per i quali utilizzo le
transazioni. Ho altri punti del programma in cui devo tentare il
salvataggio, eseguire operazioni e se tutto non va a buon fine annullare
tutto il processo.
In pratica mi dici che un record salvato tramite maschere o tabelle aperte
direttamente in Access non č sottoponibile a transazione?? Esiste un modo
per annullare il salvataggio, oltre a quello di mettere tutto il codice in
BeforeUpdate visto che in quel punto ancora non vedo il record salvato??
"Sib" <si...@SPAMMiol.it> ha scritto nel messaggio
news:GJLj8.63208$Ns4.2...@news2.tin.it...



title: Transazioni

text:
"Max" <
mini...@libero.it
> ha scritto nel messaggio
> OK, quello dell'ID era solo uno dei motivi per i quali utilizzo le
> transazioni. Ho altri punti del programma in cui devo tentare il
> salvataggio, eseguire operazioni e se tutto non va a buon fine annullare
> tutto il processo.
>
> In pratica mi dici che un record salvato tramite maschere o tabelle aperte
> direttamente in Access non è sottoponibile a transazione?? Esiste un modo
> per annullare il salvataggio, oltre a quello di mettere tutto il codice in
> BeforeUpdate visto che in quel punto ancora non vedo il record salvato??
Rispondi dopo il quoting.
Non vedi il record nella tabella, ma tutti i controlli della maschera sono
perfettamente leggibili, puoi farli da li' i controlli.
Comunque se proprio ti piace la strada che vuoi percorrere, puoi sempre
eliminarlo dopo il record che non va bene.
Sib


title: aggiornamento somma in una sottomaschera

text:
Ciao a tutti
ho unamaschera principale in cui voglio la somma del costo di alcuni
prodotti che vengono inseriti in una sottomaschera.
Ho fatto la sottomaschera e ho messo un  campo che mi fa la somma chiamato
CSOMMA
=Somma([subtotale])
gli altri campi della sottomaschera sono
        prodotto  costo  quantità  subtotale
                        1            2            2
ora nella sopramaschera non riesco ad aggiornare bene il totale.
Penso che questo mi accada perchè la casella che fa la somma viene
aggiornata sempre dopo rispetto a quando io modifico.
In pratica mi succede che la sopramaschera rimane indietro.
Ho fatto una funzione nella sopramaschera CalcolaTotale, vorrei sapere su
che evento chiamarla, ho provato a metterla su svariati eventi ma m icalcola
sempre un totale vecchio di una modifica... io invece dovrei richiamarla
dopo che   CSOMMA viene aggiornata ma non so come fare.
grazie
Max


title: conversione

author: topogigio

text:
Salve a tutti ho un piccolo problema potreste aiutarmi a convertire con una
query questo formato 12-JAN-2003 in 12/01/2003 grazie in anticipo a tutti


title: conversione

text:
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:xzvib.31451$vO5.1...@twister1.libero.it...
> Salve a tutti ho un piccolo problema potreste aiutarmi a convertire con
una
> query questo formato 12-JAN-2003 in 12/01/2003 grazie in anticipo a tutti
Non c'è bisogno di nessuna query.
Basta che setti il formato in gg/mm/aaaa
adesso in formato databreve.
però perchè parla inglese? e' forse un campo testo?
MAssimiliano


title: conversione

text:
il mese lo posso trovare in due modi italiano e in inglese se lo converto
nel formato databreve mi cancella il record inglese
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:xzvib.31451$vO5.1...@twister1.libero.it...



title: conversione

text:
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:CUvib.31515$vO5.1...@twister1.libero.it...
> il mese lo posso trovare in due modi italiano e in inglese se lo converto
> nel formato databreve mi cancella il record inglese
Scrivi dopo il quoting
> > Salve a tutti ho un piccolo problema potreste aiutarmi a convertire con
> una
> > query questo formato 12-JAN-2003 in 12/01/2003 grazie in anticipo a
tutti
devi convertire con due query.
Allora testa se la prima lettera è un numero
if isnumeric(left(tuadata,1))
e l'accodi nel campo convertito
dopo fai il resto
Lavora su una copia
MAssimiliano


title: conversione

text:
ho provato a fare la query   if isnumeric(left(tuadata,1))   ma mi da come
errore "numero errato di argomenti specificati in una funzione
nell'espressione immessa"
    DATA
12-JAN-2003
23-APR-2002
11-MAY-2001
"MA" <
keiko...@libero.it
> ha scritto nel messaggio
news:23wib.8165$uv4....@news.edisontel.com...



title: conversione

author: Antonio Biso

text:
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:nnwib.31597$vO5.1...@twister1.libero.it...
> ho provato a fare la query   if isnumeric(left(tuadata,1))   ma mi da come
Prova anche a scrivere correttamente DOPO IL quoting!!!
Antonio


title: conversione

text:
Io ho riscritto quello che altri mi hanno postato
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:%Bxib.31793$vO5.1...@twister1.libero.it...



title: conversione

text:
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:XXxib.33900$e6.12...@twister2.libero.it...
> Io ho riscritto quello che altri mi hanno postato
E insisti per giunta!!!
Antonio



title: conversione

text:
"topogigio" <
topo....@tiscali.it
> ha scritto nel messaggio
news:XXxib.33900$e6.12...@twister2.libero.it...
> Io ho riscritto quello che altri mi hanno postato
ciao
Antonio si rriferisce al fatto che rispondi prima dei messaggi precedenti.
Devi farlo dopo
>
>
> > > ho provato a fare la query   if isnumeric(left(tuadata,1))   ma mi da
> come
> >
> > Prova anche a scrivere correttamente DOPO IL quoting!!!
> >
> > Antonio
> >
MAssimiliano


title: Messaggio per Roberto

author: Naponet

text:
Intanto ti voglio ringraziare per l'interessamento e mi scuso se ho
insistitoun pň volevo dirti che in tanti anni che uso il computer č la prima
volta che consulto una news, in effetti il conteggio delle ore non sarebbe
male come hai proposto, se non fosse che, nella maschera dove si inseriscono
i turni di ogni dipendente non vi č con esattezza un campo entrata ed uno
uscita, ma bensě una casella combinata da dove mi ricerco la tipologia del
turno e poi in base a quella una query mi visualizza sulla stessa riga, in
una sottomaschera, la data turno, l'orario(dalla casella combinata) e il
corrispondente orario in eccesso, previsto per quel turno che viene
conteggiato come straordinario, dopodichč nel pič di pagina della
sottomaschera ho una casella di testo adibita a somma([Orario
straordinario]) e ad essa, non essendo quest'ultima visibile dalla maschera
pricipale, vi č collegata un'altra casella di testo della maschera primaria
tipo sottomaschera straordinario!forms![somma di orario
straordinario](pressapoco dovrebbe essere cosě!), per cui la somma delle ore
nella sua interezza deve essere necessariamente conteggiata in questi due
campi, tra l'altro non deve essere arrotondata, la cifra finale, ma deve
contenere l'effettivo numero di ore:minuti prestato.
Spero di essere stato + chiaro, ringraziandoti anticipatamente.
Naponet