PDA

View Full Version : [Visual Basic 6.0] errore '3219'


VioletFairy
28-02-2008, 19:57
Ciao,
sono nuova nel mondo di visual basic.
Il mio programma deve lavorare con un DataBase. Io uso Access 2000. Ora se faccio delle SELECT tramite VB sul mio database non trovo alcun problema, quando invece faccio delle INSERT INTO in compilazione mi da "error '3219' Operazione non valida"
In un altro programma utilizzavo Access 97, e mi faceva fare tranquillamente sia delle INSERT INTO che delle SELECT. Ma io ora posso lavorare solo con Access 2000.
il codice č questo

Private Sub cmdOk_Click()
Dim Livello As Integer, Data, Ora As Date
SqlStringa = "SELECT * FROM Utenti WHERE LOGIN = '" & txtUsername.Text & "' AND PSW = '" & txtPsw.Text & "'"
Set rs = db.OpenRecordset(SqlStringa)
If Not rs.EOF Then
Ora = Time
Data = Date
Livello = rs.Fields(5)

SqlStringa = "INSERT INTO Log (DATA, ORA, ID_UTENTE, NOME_UTENTE, COGNOME_UTENTE, OPERAZIONE) VALUES ( '" & Data & "', '" & Ora & "', " & rs.Fields(0) & ", '" & rs.Fields(1) & "', '" & rs.Fields(2) & "', 'login' )"
Set rs1 = db.OpenRecordset(SqlStringa) 'QUI MI DA L'ERRORE!!!

frmMenu.Show
Else
MsgBox "La password non e' esatta."
txtUsername.Text = ""
txtPsw.Text = ""
End If
End Sub

Sapete dirmi in cosa sbaglio? Che cosa devo fare?

MarcoGG
29-02-2008, 09:23
...
Set rs1 = db.OpenRecordset(SqlStringa) 'QUI MI DA L'ERRORE!!!
...

Sapete dirmi in cosa sbaglio? Che cosa devo fare?


Cosė alla veloce, direi che il tuo problema č dovuto proprio alla creazione e utilizzo concorrente di 2 RecordSet distinti ( rs e rs1 ) che cerchi di far operare sullo stesso db Access ( probabilmente Access '97 era pių di "bocca buona" in questo, ma qui lo dico e qui lo nego, perchč non ho mai usato Office '97 a fini di sviluppo... ).

Prova a dichiarare/usare i due recordset in modo diverso, ossia :

Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.Open SqlStringa

Questo metodo ti permette di impostare parametri meno restrittivi, e pių "permissivi"...