General |
6.17 Numerazione crescente per fatture ed altro. |
Davide La Mantia (Sib) |
La cosa è stata ampiamente dibattuta e non mancano esempi sul sito, ma ritengo interessante riproporre la cosa sotto un nuovo aspetto, soprattutto per chi ha meno dimestichezza con il VB. La mia soluzione è piuttosto semplice, nella proprietà ValorePredefinito del controllo si inserisce una espressione del tipo:="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")L'effetto finale è quello di ottenere una numerazione del tipo: E99/0001 Dove: E = Riferimento arbitrario 99 = Ultime due cifre dell'anno / = Separatore 0001 = Contatore La cosa interessante è che, senza intervenire in alcun modo, l'espressione azzera il contatore ad ogni inizio d'anno, il primo valore del 2000 sarà: E00/0001 Spero che riteniate la cosa interessante, soprattutto perché non richiede alcuna conoscenza di VB. L'applicazione contatore include un generatore automatico di esempio. Download: |