Perchè l'ultima riga mi dà errore "Errore di run-time'13' Tipo non corrispondente"?codice:Dim db As Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("Agenzie")
Perchè l'ultima riga mi dà errore "Errore di run-time'13' Tipo non corrispondente"?codice:Dim db As Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("Agenzie")
Presumo che "Agenzie" sia il nome di una tabella, o almeno così spero, sennò non va.
in ogni caso, prendendo per buono che Agenzie sia il nome di una tabella, per settare un recordset devi dichiarare una variabile stringa:
codice:Dim db As Database Dim rs As Recordset Dim strSql As String strSql = "Select * from Agenzie" Set db = CurrentDb Set rs = db.OpenRecordset(strSql)
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
"Agenzie" è il nome di una tabella.
La sintassi che ho riportato ha sempre funzionato su Access97.
Ora il problema ce l'ho su Access2000.
Il metodo OpenRecordset funzionava anche mettendo direttamente il nome della tabella (come da Guida di Microsoft Visual Basic, argomento da cercare "conversione del codice dao in ado")
Comunque ho provato anche a mettere come hai scritto, ma ricevo lo stesso errore.
![]()
il tipo di errore restituito ti indica che la variabile utilizzata non è stata dichiarata correttamente per il tipo che devi utilizzare. prova ad includere le librerie DAO ed impostare la variabile RS com DAO.Recordset e vedi che tutto si risolve![]()
scusa dark, ma io quando lavoro su Access la libreria DAO ce l'ho già inclusa...:master:Originariamente inviato da darkblOOd
il tipo di errore restituito ti indica che la variabile utilizzata non è stata dichiarata correttamente per il tipo che devi utilizzare. prova ad includere le librerie DAO ed impostare la variabile RS com DAO.Recordset e vedi che tutto si risolve![]()
e l'errore 13 me lo dava perchè voleva una variabile string e non l'istruzione scritta a manetta...:master:
in ogni caso, può essere che lui non ce l'abbia![]()
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
il fatto che sia già inclusa o meno non importa, l'ho specificato in modo tale che possa verificare e cmq è bene dichiarare la variabile specificando che si tratta di un recordset di tipo DAO visto che alcuni metodi potrebbero creare i problemi che sta riscontrando. La maggior parte delle volte è per questoOriginariamente inviato da ladyBlu
scusa dark, ma io quando lavoro su Access la libreria DAO ce l'ho già inclusa...:master:
e l'errore 13 me lo dava perchè voleva una variabile string e non l'istruzione scritta a manetta...:master:
in ogni caso, può essere che lui non ce l'abbia![]()
ovvio che poi, prima di chiamare la OpenRecordset del db...il db deve essere stato impostato correttamente ed aperto![]()
ok, claro.Originariamente inviato da darkblOOd
il fatto che sia già inclusa o meno non importa, l'ho specificato in modo tale che possa verificare e cmq è bene dichiarare la variabile specificando che si tratta di un recordset di tipo DAO visto che alcuni metodi potrebbero creare i problemi che sta riscontrando. La maggior parte delle volte è per questo![]()
ovvio che poi, prima di chiamare la OpenRecordset del db...il db deve essere stato impostato correttamente ed aperto![]()
![]()
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
Ci sono riuscito appunto dichiarando la variabile rs come DAO.Recordset!
In effetti, la dichiarazione era fatta così anche nell'argomento della guida che avevo citato prima... no nci avevo fatto caso, ero troppo abituato a scriverlo senza il "DAO".
In effetti il fatto che in Access2000 l'editor del codice sia esterno e che si debbano selezionare i Riferimenti mi ha un po' spiazzato. È una notevole differenza con Access97. E anche la guida è molto diversa...
Comunque grazie, sono riuscito anche a risolvere i problemi di velocità di aggiornamento dei recordset che avevo qui!![]()