Newsgroup: it.comp.appl.access
Titolo: Numerazione automatica

Mi scuso per l'ennesima domanda sull'argomento, ma da zerototale in VB non
riesco a cavarmela.
Sul sito 
http://www.sitocomune.com/
 ho trovato un bell'esempio per creare
la numerazione automatica per fatture etc, di Davide "Sib", di cui riporto
l'espressione per semplificare la vita a tutti:
="E" & Format(Date();"aa") & "/" &
Format(IIf(IsNull(DMax("MioContatore";"MiaTabella";"MioContatore like '?"
& 
Format(Date();"aa") &
"/????'"));1;Right(DMax("MioContatore";"MiaTabella";"MioContatore like '?"
& Format(Date();"aa") & "/????'");4)+1);"0000")
e un DB per creare automaticamente l'espressione...
Io ho provato a mettere il tutto nel mio DB (access 97), facendo piccole e
poche modifiche non sostanziali, ma ottengo un messaggio inquietante:
"Unknown funcion 'DMax' in validation expression or default value on
'NomeTabella.NomeCampo'"
Visto cosi' pare non accetti la funzione "DMax". Ho provato a "ricreare"
da zero l'epressione con l'editor di Access e in effetti non ho trovato
l'espressione DMax (ma sara' la quinta volta in vita mia che uso
l'editor). 
Copiando invece l'espressione di cui sopra nell'editor e selezionando
DMax, nella parte bassa della finestra access mi da' una descrizione della
funzione completa "Dmax (espr;domino;criteri)", da cui ho dedotto che in
realta' access dovrebbe sapere di cosa stiamo parlando.
Spero di essermi espresso chiaramente, se qualcuno ha tempo puo' indicarmi
un diavolo di modo per far funzionare un qualsiasi sistema di numerazione
automatica? Anche solo un link e poi provo ad arrabattarmi...
Grazie mille,
marco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

"Mrk-Lnx" <cigooT...@SPAMlibero.it> ha scritto nel messaggio
news:b0gm4k$fkf$1...@news.newsland.it...

Invece di postare quanto contenuto nella FAQ del Sito Comune che è
funzionante, sarebbe meglio che ci posti quanto hai scritto tu nel Valore
predefinito del controllo del tuo database; probabilmente le modifiche che
hai apportato al codice non sono "piccole" e/o "poche": sembrerebbe che
risolta essere comunque sbagliate.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Se proprio e' necessario:
="NC" & Format(Date();"aa") & "-" &
Format(IIf(IsNull(DMax("[IDNC]";"[tbl_NonC]";"[IDNC] like 'NC" &
Format(Date();"aa") & "-???'"));1;Right(DMax("[IDNC]";"[tbl_NonC]";"[IDNC]
like 'NC" & Format(Date();"aa") & "-???'");3)+1);"000")
che dovrebbe dare NC03-123
Per generare questa espressione ho importato il DB preso dal sito e ho
semplicemente eseguito buzzurramente le indicazioni ;-)
Sia cosi', che riscrivendo che facendo altri cambiamenti (per ottenere
NC-03-123) non ho avuto l'esito sperato.



L'espressione che hai scritto è corretta e per quest'anno dovrebbe fornirti
un numero progressivo del tipo NC03-123.
Però, a mio parere, hai commesso l'errore di scrivere l'espressione nella
proprietà di campo Valore predefinito del campo IDNC nella struttura della
tabella tbl_NonC.
Invece, affinché la cosa funzioni come indicato nella FAQ del Sito Comune,
devi lasciare vuota tale proprietà di campo nellla tabella tbl_NonC e
scrivere l'espressione di cui sopra nella proprietà Valore predefinito del
controllo associato al campo IDNC nella maschera con cui inserisci i nuovi
record nella tabella tbl_NonC.
Facci sapere se era questo il problema.


Si', in effetti non avevo capito e mettevo il tutto nel posto sbagliato!
A furia di tentativi avevo appena messo l'espressione nel posto giusto e
stavo per scrivere quando ho visto il tuo messaggio che confermava la mia
ignoranza di Access ;-) Ci sono davvero "milllle" cose di Access che
ancora non so.
Grazie mille per aver dedicato del tempo al mio quesito!


 tabella tbl_NonC.
cut
CONCORDO.
8:-)
Sib