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
Aiuto su vb6 e access..istruzione sql
lunedì 11 febbraio 2008 - 18.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Mimmozzo87
Profilo
| Junior Member
116
messaggi | Data Invio:
lun 11 feb 2008 - 18:09
salve ragazzi...ho un problema ke nn mi permette di terminare il programma...
sto effettuando un programma di emissione fattura...e lo terminato...ora mi hanno kiesto ke al primo avvio del programma dopo l'nstallazione mi venga kiesto da quanto far partire l'incrementatore ID...siccome appena si installa il programma il primo record parte da 1...
io ho creato una form prima di avviare la form vera e propria del programma in cui indico l'id su cui effettuare la prossima fattura e la inserisco in una variabile ke chiamo id_inizio...
ora.. x entrare nel database di access uso l'oggetto ADODC e cerco di modificare l'incremento della tabella di nome 'emesse' e ho scritto questo:
Private Sub ok_Click()
Dim id_inizio As Integer
id_inizio = txtid.Text
Dim s As String
s = "ALTER TABLE emesse AUTO_IMCREMENT='id_inizio';"
data2.RecordSource = s
data2.CommandType = adCmdText
'data2.Refresh
'DataGrid2.SetFocus
Form1.data2.Recordset!id_partenza = Str(id_inizio)
Form1.data2.Recordset.Update
Form1.data2.Refresh
MsgBox "OK OK OK"
End Sub
mi sapete dire se l'istruzione sql è esatta o dove ho sbagliato??? xke continua a incrementare normalmente..grazie
Dainesi
Profilo
| Senior Member
476
messaggi | Data Invio:
lun 11 feb 2008 - 21:16
Il primo metodo è quello di creare n record e quindi cancellarli (Access mantiene in memoria attraverso le tabelle di sistema l'ultimo ID di una tabella con contatore univoco).
L'altro metodo, che ti consiglio, è quello di crearti una funzione trigger che ti estrae il prossimo ID (estrae il Max(ID) e aggiunge 1).
Mimmozzo87
Profilo
| Junior Member
116
messaggi | Data Invio:
lun 11 feb 2008 - 21:58
sando il database di php myadmyn ho visto ke proprio quell'istruzione ke ho scritto..ovvero "AFTER TABLE emesse auto_increment=30" mi permette ke il prossimo record ke inserisco è proprio il numero 30..e il successivo è il 31..e se cancello il record con id 31 ed inserisco un altro il record avrà id 32..quindi l'incremento funziona correttamente..
se invece si mette un id inferiore a quello massimo presente l'id nn verrà modificato..
ora il mio problema è se ho scritto correttamente quella istruzione in modo ke access me la legga per dire..se la variable va tra apici o virgolette..o se nn si puo fare proprio... spero ke qualkuno possa aiutarmi, grazie
Dainesi
Profilo
| Senior Member
476
messaggi | Data Invio:
mar 12 feb 2008 - 15:05
Essendo il campo contatore un Long (legato ad un trigger) è indubbio che devi passare un numero e non una stringa. Leva gli apici.
Mimmozzo87
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 12 feb 2008 - 15:18
ho provato ma niente.. tu come la scriveresti questa procedura?? grazie per l'aiuto
Dainesi
Profilo
| Senior Member
476
messaggi | Data Invio:
mar 12 feb 2008 - 18:09
s = "ALTER TABLE emesse AUTO_IMCREMENT='id_inizio';"
Noti nulla di "strano" ?
AUTO_INCREMENT e non AUTO_IMCREMENT
dante
Profilo
| Junior Member
70
messaggi | Data Invio:
mar 12 feb 2008 - 18:09
scusa, ma perchè non ti crei tu un contatore invece di usare quello di access?
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 !