Newsgroup: it.comp.appl.access
Titolo: Semplice numerazione automatica

Salve a tutto il NG,
Dopo anni di inattività, ho rimesso mano ad access ed è venuta fuori
(aimè) tutta la mia demenza!
Non ricordo più come applicare Dmax+1.
Mi aiutate?
-----------------------------------------------
in una maschera (Pratica_Cliente)
vi è una sottomaschera (Pratica_Ins)
in qui vorrei in automatico inserire il numero di pratica progressivo.
Si tratta di un numero di pratica progressivo in 4 cifre non legato
alla data come in una fattura, un semplice;
123
124
125 etcc,
Nome Tabella "TabPRATICA"
Nome Campo   "PraticaNum" - numerico chiave primaria,
Nome Sottomaschera Maschera "Pratica-Ins"
Nome Casella di testo       "PraticaNum"
In questultima casella, di testo, come inserisco la funzione Dmax +1?
Qualè la sintassi e la stringa corretta?
Grazieeeeeeee


Nel valore predefinito del campo in esame nella form se non ricordo
male (attenzione deve avere proprieta' numerico)
Vai as inserire =Nz(DMax("[Tuocampo]","[Tuatabella]");0)+1
Attenzione pero' che con questa funzione non puoi gestire il salto
anno.
Se vuoi fere un buon lavoro imposta invece questa funzione,sempre con
la stessa procedura mettendo solo proprieta' testo:
=Format(IIf(IsNull(DMax("[Fattura Num]";"[Tabella fatture]";"[Fattura
Num] like
'??/" & Format(Date();"aa") & "'"));1;Left(DMax("[Fattura
Num]";"[Tabella fatture]";"[Fattura Num] like
'??/" & Format(Date();"aa") & "'");2)+1);"00") & "/" &
Format(Date();"aa")
NB :in caso di cancellazione num fat e adeguamento alla cancellazione
es : 01/08 02/08 03/08 cancello la 01/
08.il
 cont riparte da 04/
08.se
invece io aggiorno le fat cioe' la 02/08 diventa 01/08 e la 03/08
diventa 02/08 il nuovo record sara' 04/08 bastera' modificarlo a 03/08
e in automatico il prossimo sara' 04/08
Ciao Dino
NB:Se vai sul sito comune ci sono diversi esempi.

 - Mostra testo tra virgolette -
Grazie Dino,
la numerazione progressiva nel mio caso non deve tornare a 1 nel
cambio dell'anno ma deve proseguire.
Ho inserito la stringa da tè suggerita ma non funziona, ecco la
stringa adattata:
=Nz(DMax("[PraticaNun]","[TabPRATICA]");0)+1
dove PraticaNum è il campo della form come pure della relativa tabella
(Proprietà Numerico), e TabPRATICA è il nome della mia tabella.
ecco il messagio di errore:
"Errore di sintassi nell'espressione.
Operando o operatore mancante, carattere o virgola non valida oppure
testo immesso non racchiuso tra virgolette."
 Dove sbaglio?
Grazie.....

 - Mostra testo tra virgolette -
Ho notato che hai scritto [PraticaNun] anziche'[PraticaNum] prova a
verificare
Ciao Dino

 - Mostra testo tra virgolette -
La tua correzzione non funge!
Alla fine ho risolto così: Evento su Attivato;
    Dim Numeroo As Long
    Numeroo = DMax("PraticaNun", "TabPRATICA")
    Me!PraticaNun = Numeroo + 1
Mi piacerebbe comunque capire perchè la precedente non funziona, dove
sbaglio?

 sbaglio?
devi mettere i punti e virgola al posto delle virgole:
=Nz(DMax("[PraticaNum]";"[TabPRATICA]");0)+1
-- 
Ciao
Geppo 

 Geppo
Ciao Geppo, la tua vista acuta ha fatto centro.
L'ho inserito su: Valore Predefinito. l'errore precedente non c'è più.
Comunque allinterno della casella di testo, anzichè il numero
progressivo mi appare il messaggio (#ERRORE), cosaltro non và?
Con questaltra invece mi funziona regolarmente
Dim Numeroo As Long
Numeroo = DMax("PraticaNun", "TabPRATICA")
Me!PraticaNun = Numeroo + 1
anche se mi si presenta un'altro inconveniente:
Inserendo la numerazione automatica mi viene inibita la funzione UNDO
che altrimenti funziona normalmente.
---------------
Sub cmdUndo_Click()
    DoCmd.RunCommand acCmdUndo
End Sub
--------------
Private Sub Form_Current()
    Me!cmdundo.Enabled = False
End Sub
-------------
Private Sub Form_Dirty(Cancel As Integer)
    Me!cmdundo.Enabled = True
End Sub
------------
Togliendo la funzione di numerazione progressiva torna  a funzionare
UNDO

 UNDO
Non he ben capito il problema della undo.
-- 
Ciao
Geppo

 - Mostra testo tra virgolette -
Ciao pricipiante wrote Geppo e' sempre grande.
scusami per la virgola convinto di aver scritto ;.
Per quanto riguarda la scegnalazione di errore dovresti andare a
verificare sulla tabella di origine se il campo [Pratica nun] o
[Pratica num] non abbiamo ancora ben capito!!! sia come proprieta' di
campo "NUMERICO"...Facci sapere.
Per l'UNDO lasciamo la sentenza al Geppo....
Cioa Dino

 - Mostra testo tra virgolette -
HHHHAAAAAAAAA!!! SONO PROPRIO CECATO!
Ecco perche..... Non mi ero reso conto di aver digitato male, sin
dall'origine volevo digitare [Pratica num] ed invece ho digitato nun.
Scoperto e Corretta la lettera incriminata, adesso mi funzionano tutte
le funzioni UNDO compreso ed altri inspiegabili malfunzionamenti.
Devo proprio andare dall'oculista!
Grazie Dino!

 - Mostra testo tra virgolette -
P.S.
Grazie Geppo.