Newsgroup: it.comp.appl.access
Titolo: Numerazione progressiva complessa in Access - AIUTO!!!!

Ciao ragazzi!!
Cerco un'anima buona e caritatevole che mi aiuti in questa cosa.
Sto realizzando un database in Access e devo creare un campo
che sia progressivo e fatto in questo modo. Parte da A00001,
va avanti A00002 al record successivo ecc... fino a A99999 e poi riparte da
B00000 ecc....
Se qualcuno potesse aiutarmi con dei consigli (sono completamente ignorante
sulla programmazione in access) o addirittura postandomi il file con solo
questo campo
mi renderebbe davvero felicissimo e gliene sarei molto grato!
grazie.

 B00000 ecc....
e quando arriva a Z99999 ?

 ha scritto nel messaggio
news:A4FD7.29927$C57.9...@news1.tin.it...

Quanti livelli alfabetici ti servono?
--
                     Angelo
------------------------------------------------------

 wrote in message
news:GCFD7.12037$7A4.7...@news.infostrada.it...


 ha scritto nel messaggio
news:4SOD7.30549$C57.9...@news1.tin.it...

Tecnicamente si può fare anche se con una certa complicazione. Perchè non
credo esista un automatismo per incrementare le lettere, e bisogna quindi
prevedere in anticipo tutte le combinazioni della sequenza.
La soluzione migliore è comunque utilizzare solo numeri prevedendo una o due
cifre in più es. da 1000001 a 9999999, oppure utilizzare le lettere con un
certo criterio es. A000001, dove A può essere l'iniziale di un campo
qualsiasi
--
                     Angelo
------------------------------------------------------


 ha scritto nel messaggio

Se vai sul sito comune e cerchi "Numerazione crescente per fatture e altro"
trovi qualcosa di simile.
Devi solo modificare la funzione in modo che tenga conto del cambio di
lettera:
invece di scrivere:
"A" & ....tutto il resto scrivi:
iif(right(dmax("TuoContatore";"TuaTabella");5)="99999";Chr(Asc(left(DMax("Tu
oContatore";"TuaTabella");1))+1);left(DMax("TuoContatore";"TuaTabella");1))
& ... tutto il resto
Sib

Fino a Z sarebbe già ottimo!!
Grazie per il tuo aiuto!
A presto


Grazie mille per il tuo consiglio Sib!
Purtroppo, essendo completamente ignorante nella programmazione di Access
non capisco bene la stringa che mi hai scritto, perň sono andato a vedere
nel
sito comune e adesso mi č tutto un pň piů chiaro...almeno credo :P
Volevo chiederti se potessi gentilmente dirmi cosa intendi per &...tutto il
resto
alla fine della stringa che mi hai consigliato di inserire!
Grazie ancora per l'aiuto e per la pazienza!
"Sib dall'ufficio" <cerrise...@SPAMtiscalinet.it> wrote in message
news:9ros42$ikf$1...@serv1.iunet.it...


 Purtroppo, essendo completamente ignorante nella programmazione di Access
Ed anche per come si scrivono i post e cioč DOPO il quoting!!!
Antonio

 wrote in message
news:xE_D7.18498$7A4.1...@news.infostrada.it...

Scusate! :(

 ha scritto nel messaggio
news:LxWD7.844$zu5....@news1.tin.it...

Questa è la mia soluzione, crea una tabella che chiamerai TABELLA, con due
campi CODRECORD e NRECORD più gli altri tuoi campi necessari.
Crea un modulo che chiamerai Libreria ed incollaci la seguente funzione:
-------------------------------
Public Function Cod_No(NINIZ As Long, TABELLA As String, CAMPO As String,
Optional CRITERIO As String) As Long
'Funzione per il calcolo di codici numerici nel [CAMPO] di una [TABELLA]
'a partire da un numero iniziale [NINIZ], con eventuale [CRITERIO].
   Dim NCODE As Long
      NCODE = Nz(DMax(CAMPO, TABELLA, CRITERIO)) 'Massimo valore in
[TABELLA]
      Cod_No = 1 + IIf(NCODE = 0, NINIZ, NCODE)    'Valore restituito dalla
funzione Cod_No()
   'End If
   End Function
------------------------------
Crea una maschera basata su TABELLA e incolla nel suo codice la seguente
funzione:
------------------------------
Private Sub Form_Current() 'Routine di attribuzione del numero progressivo
     If Me.NewRecord Then                                'Quando si inserice
un nuovo record
        Me!NRECORD = Cod_No(100000, "TABELLA", "[NRECORD]") 'La funzione
Cod_no() attribuisce un nuovo codice
 Dim CIFRE, ALFA, NUMB
 CIFRE = Left(Me!NRECORD, 2)
 NUMB = Mid(Me!NRECORD, 3, 10)
 Select Case CIFRE
 Case "10": ALFA = "A" & NUMB
 Case "11": ALFA = "B" & NUMB
 Case "12": ALFA = "C" & NUMB
 Case "13": ALFA = "D" & NUMB
 Case "14": ALFA = "E" & NUMB
 Case "15": ALFA = "F" & NUMB
 Case "16": ALFA = "G" & NUMB
 Case "17": ALFA = "H" & NUMB
 Case "18": ALFA = "I" & NUMB
 Case "19": ALFA = "J" & NUMB
 Case "20": ALFA = "K" & NUMB
 Case "21": ALFA = "L" & NUMB
 Case "22": ALFA = "M" & NUMB
 Case "23": ALFA = "N" & NUMB
 Case "24": ALFA = "O" & NUMB
 Case "25": ALFA = "P" & NUMB
 Case "26": ALFA = "Q" & NUMB
 Case "27": ALFA = "R" & NUMB
 Case "28": ALFA = "S" & NUMB
 Case "29": ALFA = "T" & NUMB
 Case "30": ALFA = "U" & NUMB
 Case "31": ALFA = "V" & NUMB
 Case "32": ALFA = "W" & NUMB
 Case "33": ALFA = "X" & NUMB
 Case "34": ALFA = "Y" & NUMB
 Case "35": ALFA = "Z" & NUMB
 Case Else: ALFA = "#" & NUMB
 End Select
 Me!CODRECORD= ALFA
 End If
MsgBox "E' stato creato il " & Me!CODRECORD.Name & " N° " & ALFA, , "Nuovo
record" 'Messaggio di conferma
 End Sub ' Angelo Morittu 11.10.2001
------------------------------
Praticamente all'inserimento di un nuovo record le funzioni danno un valore
al campo NRECORD e al campo CODRECORD, siccome a te non interessa il
contenuto numerico del campo NRECORD puoi renderlo invisibile nella
maschera.
Con i parametri di questa funzione dovresti poter inserire circa 260.000
record, aggiungendo uno 0 al NINIZ 2.600.000 ecc. Spero Ti basti.
Aggiungendo ulteriori istruzioni case es.  Case "36": ALFA = "AA" & NUMB,
avresti 10000, 100000 o più record per volta.
Ciao


 wrote in message
news:SbaE7.21181$7A4.1...@news.infostrada.it...

Angelo, non ho parole per ringraziarti per la tua incredibile gentilezza e
disponibilità nell'
aiutarmi!
Volevo solo farti delle ultime domande:
1) Che tipo di campi sono CODRECORD e NRECORD (testo va bene?)
2)Purtroppo non riesco a capire dove devo andare a inserire il codice che mi
hai gentilmente
scritto (quello che dici di immettere nel codice di TABELLA dopo aver creato
la maschera)
Putroppo come ti dicevo sono totalmente ignorante riguardo alla
programmazione in Access e
percui ti chiedo di avere pazienza un'ultima volta!
Grazie infinite per tutto!
-
Claudio

 wrote in message
news:HnjE7.4083$zu5.1...@news1.tin.it...

Come non detto!!!!!
Il problema era nel codice che, essendo incollato sulla email aveva cambiato
formattazione e quindi
si erano aggiunti spazi che non lo facevano girare!!!!
GRAZIE DI CUORE PER IL TUO AIUTO!!!!
E grazie mille anche agli altri di questo newsgroup che mi hanno aiutato!
Siete stati davvero gentilissimi!! Io putroppo non posso offrirvi alcuna
conoscenza di Access ma se
vi dovesse mai servire di sapere qualcosa sul Web Design (Flash eeccc)
chiedetemi pure!!
Grazie di nuovo!
-
Cla

 ha scritto nel messaggio
news:mYjE7.4099$zl4.1...@news2.tin.it...

Ok, spero che sia ciò che cercavi.
CODRECORD é di testo, mentre NRECORD é numerico (Long).
                 BuonaNotte


 alla fine della stringa che mi hai consigliato di inserire!
Se prendi la formula che c'e' sul sito comune vedrai che comincia con ="A" &
... eccetera
Quindi prendi la formula che ti ho suggerito e incollala semplicemente al
posto della "A".
Comunque, siccome l'ho scritta all'impronta potrebbe non funzionare subito
bene, se non ti funziona come dovrebbe fammi sapere che errore fa.
Sib
PS per sapere se funziona non e' necessario inserire 100000 record, basta
inserire a mano il valore A99999 e poi vedere cosa ti propone per il record
successivo.
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente

 conoscenza di Access ma se
Potresti venire al raduno e offrire da bere a da mangiare...
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com

 wrote in message
news:SKlE7.26874$7A4.1...@news.infostrada.it...

Grazie mille di nuovo Sib!! E scusa se non ho potuto ringraziarti
prima ma in questi giorni ho avuto dei problemi col provider e non sono
riuscito a connettermi! Proverň sicuramente e poi ti farň sapere!
Grazie di tutto ancora!!