Newsgroup: it.comp.appl.access
Titolo: Numero progressivo CAMPO

Salve, ho una tabella che deriva da una query di aggiornamento.
In questa tabella ho un campo TRACER di tipo numero grande, dopo aver eseguito la query, dovrei popolare questo campo TRACER con un numero progressivo che deve partire da un numero dato in in una campo di una maschera. 
TAbella1
  destinatario
  indirizzo
  TRACER
 
Valore campo maschera 2222111100001
ad ogni riga della tabella1, il campo tracer deve essere valorizzato partendo dal valore del campo della maschera
 
a via x  22221111000001
b via y  22221111000002
etc
La tabella viene svuotata alla chiusura del database.
GRAzie


se la tabella si chiama tabella1
 
e la casella che contiene il valore di partenza si chiama txtValoreIniziale
 
in un modulo metti questo codice
 
 
Public Sub incrementa(start As Double)
 
Dim n As Double
Dim righe As New ADODB.Recordset
righe.Open "tabella1", CurrentProject.Connection, adOpenKeyset, 
adLockOptimistic
n = start
Do While (Not righe.EOF)
     righe.Fields("tracer") = n
     righe.Update
     n = n + 1
     righe.MoveNext
Loop
righe.Close
Set righe = Nothing
End Sub
 
richiamati questa sub passando il parametro del valore iniziale presente 
nella tua maschera
 
esempio se hai un pulsante "numera" su click metti
 
incrementa me.txtValoreIniziale
 
 
ciao
BFS
 
 
 


Ciao e grazie. La funzione funziona benissimo, l'unica cosa è che quando il numero è piu di grande di 15 cifre la numerazione non funziona piu. Come posso ovviare a questo problema?
Grazie tantissimo


che errore ti da esattamente?
 
probabile che sia il tipo di dato
sostituisci double con un tipo adeguato al range dei tuoi valori
 
ciao
BFS
 
 


Ciao,
 ho provato ad mettere sia long che integer nella funzione, ma in fase di esecuzione mi da errore di overflow. 
Se lascio Double, la numerazione,superato i 15 caratteri,  sfalsa cosi
tracer
999999999999990
999999999999991
999999999999992
999999999999993
999999999999994
999999999999995
999999999999996
999999999999997
999999999999998
999999999999999
1000000000000000
1000000000000000
1000000000000000
1000000000000000
1000000000000000
1000000000000000
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000010
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000020
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000030
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000040
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000050
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000060
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000070
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000080
1000000000000090
1000000000000090
1000000000000090
 
Come posso risolvere?
Grazie di tutto