Newsgroup: it.comp.appl.access
Titolo: Problema contatore generare codice

ho un problema coi contatori nel generare codici:
nella tabella Tb_Documenti, creo lo storico dei miei documenti,
e salvo il valore nella tb_UltimoNumero
dalla maschera1 genero i nuovi preventivi, per come segue:
="PRE" & Format(Date();"aa") & "-" & 
Format(IIf(IsNull(DMax("NumeroDocumento";"Tb_Documenti";"NumeroDocumento 
like '???" & Format(Date();"aa") & 
"-????'"));IIf(Mid(DLookUp("UltimoNumero";"Tb_UltimoNumero");2;2)=Format(Date();"aa");Right(DLookUp("UltimoNumero";"Tb_UltimoNumero");4)+1;1);Right(DMax("NumeroDocumento";"Tb_Documenti";"NumeroDocumento 
like '???" & Format(Date();"aa") & "-????'");4)+1);"0000")
dalla maschera2 genero le nuove fatture, per come segue:
="FTA" & Format(Date();"aa") & "-" & 
Format(IIf(IsNull(DMax("NumeroDocumento";"Tb_Documenti";"NumeroDocumento 
like '???" & Format(Date();"aa") & 
"-????'"));IIf(Mid(DLookUp("UltimoNumero";"Tb_UltimoNumero");2;2)=Format(Date();"aa");Right(DLookUp("UltimoNumero";"Tb_UltimoNumero");4)+1;1);Right(DMax("NumeroDocumento";"Tb_Documenti";"NumeroDocumento 
like '???" & Format(Date();"aa") & "-????'");4)+1);"0000")
il problema sta nella progressione dei codici per i diversi documenti,
vale a dire che se creo una fattura es: FTA08-0001
dopo vado a creare un preventivo,
ottengo PRE08-0002 anziche PRE08-0001
come risolvere?
Ciao
Cataldo Formaro 

 ha scritto nel messaggio 
news:b_cAk.153067$FR.4...@twister1.libero.it...

Perchè devi cercare di capire il codice...non 
copiare/incollare...scusami...e qui ti spiego
Quello che inserisci all'inizio è solo un prefisso che non conta nulla ai 
fini della numerazione, è con DMAX che procedi con il conteggio.
Differenzia i due conteggi con un'altro campo che ti identifichi se è 
preventivo o fattura.
Guardati la sintassi di DMax e capirai meglio...
DMax("[DataOrdine]", "[Ordini]", "[Preventivo]=0") in questo modo calcola il 
massimo solo su quei record con campo preventivo=0
Ciao
-- 
Roberto da Parma

 ha scritto nel messaggio 
news:garv58$g5p$1...@tdi.cu.mi.it...

Ciao Roberto,
supponiamo di mettere nella mia maschera1 (per creare nuovi preventivi)
un contollo TipoDocumento con origine dalla tb_Documenti campo 
tipodocumento.
A questo punto dopo aver popolato il controllo tipodocumento della 
maschera1,
si potrà generare il nuovo numero di preventivo? E come cambierebbe il 
codice?
Ciao
Cataldo

 ha scritto nel messaggio 
news:6snAk.153282$FR.4...@twister1.libero.it...

Certamente, in questo caso porrai la condizione nella 
DMax(...,...,tuacondizione) per cui calcolerà il massimo tra tutti quelli.
Appena ho un attimo provo a mandarti il codice corretto, intanto ti invito 
comunque a provare...



Ciao Cataldo
potresti utlizzare qualcosa di simile:
=IIf([bollafattura]=1;"B-";"F-") & 
Format(IIf(IsNull(DMax("[NumeroSpedizione]";"[tblFattureVendite]";"[NumeroSpedizione] 
like '" & IIf([bollafattura]=1;"B-";"F-") & "????/" & Format(Date();"yyyy") 
& 
"'"));1;Mid(DMax("[NumeroSpedizione]";"[tblFattureVendite]";"[NumeroSpedizione] 
like '" & IIf([bollafattura]=1;"B-";"F-") & "????/" & Format(Date();"yyyy") 
& "'");3;4)+1);"0000") & "/" & Format(Date();"yyyy")
naturalmente da modificare secondo le tue esigenze.
con questo codice si ottiene una numerazione tipo: B-0001/2007 
...B-0002/2007
F-0001/2007...F-0002/2007
Daniele 

[CUT]
Grazie ragazzi,
ho trovato in giro una funzioncina di Salvino, che mi ha risolto tutto. 
Grazie cmq
Ciao
Cataldo 

 ha scritto nel messaggio 
news:3FKAk.65188$Ca.1...@twister2.libero.it...

in giro dove? "Dalle parti degli infedeli"?
a catà...plis...non vorrai tenere tutto per te? ;-))
Ciao
Daniele