Newsgroup: it.comp.appl.access
Titolo: progressivo fattura

ciao, ho un piccolo problema:
dovrei fare in modo che in una tabella ms access2000, diciamo "fatture
attive", venisse prodotto ad ogni nuovo record un numero progressivo, quindi
assegnato ad una nuova fattura.
non mi va bene l'ID, come contatore incrementato, in quanto, e qui sta il
problema, la numerazione deve partire con ad esempio il numero 0001/2000,
dove 2000 sta per l'anno corrente, dal 01/01/00, al 31/12/00, ma deve
riprendere dallo 0001/2001 a partire dal 01/01/2001, fino al 31/12/2001, e
naturalmente via di questo passo, all'infinito.
ovviamente nella tab esistono i campi anno, mese e giorno, che mi servono
già per ordinare alcune query sulle date.
potete aiutarmi?
grazie.

 ha scritto nel messaggio
news:mhI56.256861$hk4.12...@news.infostrada.it...

Metti nel controllo ID nelle proprieta "valore predefinito" (nella maschera)
=Format(Now();"aa") & "/" & Format(IIf(IsNull(DMax("ID";"MiaTabella";"ID
like '" & Format(Now();"aa") &
".?????'"));1;Right(DMax("ID";"MiaTabella";"ID like '" & Format(Now();"aa")
& ".?????'");5)+1);"00000")
ID deve essere in formato testo
Ciao Giorgio

 Ciao Giorgio
Scusate se mi intrometto, supponiamo che ho già emesso fatture durante
l'anno con altri programmi, mi occorrerebbe la possibilità  di dire ad
Access, magari con una casella di testo di incominciare a contare da un
numero prestabilito.
Come potrei fare?
Grazie
Massimo

 Come potrei fare?
Inserisci a mano il numero da cui vuoi partire rispettando il formato della
funzione, ad es, se la funzione ti propone 00/0001 e tu hai emesso fatture
fino alla 25, non ti resta che scrivere:
00/0026, sara' la funzione a proseguire con i valori successivi
Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access
------------------------------------------------------
La mia home (ancora non completa)
http://digilander.iol.it/syb
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente

 ha scritto nel messaggio
news:937koh$eko$1...@news1.sunrise.ch...


 ID deve essere in formato testo
Questa funzione mi ricorda qualcosa... :-)
Comunque va modificata se si vuole ottenere il formato richiesto da defa,
infatti la funzione che riporti, cosi' come', da come risultato:
01/00001
dove il primo 01 sta per l'anno. Per ottenere quello che chiede defa si deve
scrivere:
=Format(IIf(IsNull(DMax("campo";"tabella";"campo like '" & "/????" &
Format(Date();"aaaa") & "'"));1;Left(DMax("campo";"tabella";"campo like '" &
"/????" & Format(Date();"aaaa") & "'");4)+1);"0000") & "/" &
Format(Date();"aaaa")
con questa si ottiene:
0001/2001


 ha scritto nel messaggio
news:MOM56.258792$hk4.13...@news.infostrada.it...


 giusto, ma mi accontenterei, se funzionasse... :-)))
cut
Prima di tutto scrivi dopo il quoting (non trovavo la tua risposta)
secondo, nella funzione che ho postato c'e' un evidente errore di
digitazione che mi era sfuggito, ecco la versione corretta:
 =Format(IIf(IsNull(DMax("campo";"tabella";"campo like '" & "????/" &
Format(Date();"aaaa") & "'"));1;Left(DMax("campo";"tabella";"campo like '" &
"????/" & Format(Date();"aaaa") & "'");4)+1);"0000") & "/" &
Format(Date();"aaaa")
 Ciao, Sib
--
