Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Incremento di un campo tabella
lunedì 25 settembre 2006 - 16.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Slave
Profilo
| Junior Member
101
messaggi | Data Invio:
lun 25 set 2006 - 16:15
ho un altro problema.... la prima domanda per poterlo risolvere è:
-è possibile,impostando un capo di una tabella access come contatore,farlo partire da un numero a mia scelta diverso da uno?
in alternativa avevo pensato di leggere il primo valore del campo(lo inserisco io manualmente)e tramite vb e una connessione ado
leggere questo valore e incrementarlo di uno nel record successivo....in questo modo:
stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & "C:\Documents and Settings\Christian Bozzonetti\Desktop\NuovoProgetto\new.mdb"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open stringa
rs.Open ("rendisposizioni"), cn, 3, 3
Dim a As Integer
Dim b As Integer
rs.MoveLast
a = rs("iddisposizione")
b = a + 1
rs.AddNew
rs("Iddisposizione") = b
rs.Update
ma non porta a niente perche invece di incrementarmi il valore riparte da uno...non so spiegarmi perche...
in alternativa avevo pensato anche a questo:
stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & "C:\Documents and Settings\Christian Bozzonetti\Desktop\NuovoProgetto\new.mdb"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open stringa
rs.Open ("rendisposizioni"), cn, 3, 3
Dim a As Integer
Dim b As Integer
a= rs.recordcount
b = a + 100001'il mio primo numero del contatore deve essere 100000
rs.AddNew
rs("Iddisposizione") = b
rs.Update
ma nemmeno questo funziona...
come posso fare?????
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
lun 25 set 2006 - 16:59
Se hai impostato un campo contatore non puoi intervenire modificandone il valore.
In sql server è possibile impostare un valore di partenza ed un incremento, ma in Access no.
Ti conviene gestire l'incremento manualmente, leggendo, prima dell'update, il valore massimo e poi incrementandolo.
Non è molto bello, ma ci si accontenta.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
Slave
Profilo
| Junior Member
101
messaggi | Data Invio:
lun 25 set 2006 - 17:05
grazie...ma...come faccio a leggere il valore massimo,salvarlo e incrementarlo?????
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
lun 25 set 2006 - 17:13
Dovresti prima fare una select max(mioValore) as ValoreMassimo from miaTabella da cui prelevi il valore massimo e successivamente lo utilizzi, incrementato di uno, per valorizzare il nuovo record.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
Slave
Profilo
| Junior Member
101
messaggi | Data Invio:
lun 25 set 2006 - 17:49
niente da fare....mi da sempre zero come risultato....
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
mar 26 set 2006 - 08:43
Ma hai cambiato il campo contatore in Access e fatto diventare, ad esempio, intero lungo?
Se lasci il campo impostato a contatore non puoi intervenire impostandone a mano il valore.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
Slave
Profilo
| Junior Member
101
messaggi | Data Invio:
mar 26 set 2006 - 09:27
certo certo....cmq sono riuscito a risolvere....grazie comunque!!!
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
mar 26 set 2006 - 09:32
Per completezza, posta la soluzione in modo da poter chiudere il thread.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
Slave
Profilo
| Junior Member
101
messaggi | Data Invio:
mar 26 set 2006 - 09:59
Private Sub Cmdsalva_Click()
On Error Resume Next
stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & "C:\Documents and Settings\Christian Bozzonetti\Desktop\NuovoProgetto\new.mdb"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
rs.Open "SELECT *FROM disposizioni", cn, 1
rs.MoveLast
Dim a, b, risul As Long
a = rs.Fields("iddisposizione").Value
b = CLng(Label1.Caption)
risul = a + 1
rs.AddNew
rs("Iddisposizione") = risul
rs.update
Set cn = Nothing
Set rs = Nothing
End Sub
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !