Supportnet / Forum / Datenbanken
Recordset und Connnection
Frage
Hallo Leute,
ich habe eine Datenbank, die zwei aus anderen Access-DBs verknüpfte Tabellen enthält.Eine dieser Tabellen heißt "LISTE".
Nun möchte ich in VB auf diese Tabelle zugreifen, das habe ich so gemacht:
Dim db as Database
Dim ta as Recordset
Set db = CurrentDB()
Set ta = db.OpenRecordset("Liste")
....(Rest der Funktion)
Beim Compilieren erhalte ich keine Fehlermeldung, führe ich die Funkiton jedoch aus, erscheint folgende Meldung:
bei: Set ta = db.OpenRecordset("Liste")
Typen unverträglich!
Es liegt wohl daran, dass die Tabelle verknüpft ist!
Aber ich weiß trotzdem nicht wie ich dann auf ihre Felder und Daten zugreifen kann.
Wer weiß, wie es geht?
Vielen Dank
Antwort 1 von PotzBlitz
Hallo Itschi,
ich tippe mal auf folgende Konstellation:
Du hast im Visual Basic Editor (Menü Extras - Verweise) gleichzeitig Verweise auf ADO und DAO gesetzt und dabei hat ADO die höhere Priorität von beiden.
Falls du ADO nicht brauchst, dann solltest du den Verweis entfernen, andernfalls musst du DAO in der Priorität höher setzen als ADO. Die andere Möglichkeit wäre, dass du bei der Verwendung der DAO- und ADO-Objekten ausdrücklich auf die richtige Bibliothek verweist, das sieht dann so aus:
Vorher:
Dim dbDAO As Database
Dim rstDAO As Recordset
Dim rstADO As Recordset
Nachher:
Dim dbDAO As DAO.Database
Dim rstDAO As DAO.Recordset
Dim rstADO As ADODB.Recordset
Solltest du aber tatsächlich ADO nicht benötigen, dann ist es wirklich sinnvoller, den überflüssigen Verweis zu entfernen, zuviele Verweise verderben den Brei.. äh, die Programmierung. :-)
Gruss
PotzBlitz
ich tippe mal auf folgende Konstellation:
Du hast im Visual Basic Editor (Menü Extras - Verweise) gleichzeitig Verweise auf ADO und DAO gesetzt und dabei hat ADO die höhere Priorität von beiden.
Falls du ADO nicht brauchst, dann solltest du den Verweis entfernen, andernfalls musst du DAO in der Priorität höher setzen als ADO. Die andere Möglichkeit wäre, dass du bei der Verwendung der DAO- und ADO-Objekten ausdrücklich auf die richtige Bibliothek verweist, das sieht dann so aus:
Vorher:
Dim dbDAO As Database
Dim rstDAO As Recordset
Dim rstADO As Recordset
Nachher:
Dim dbDAO As DAO.Database
Dim rstDAO As DAO.Recordset
Dim rstADO As ADODB.Recordset
Solltest du aber tatsächlich ADO nicht benötigen, dann ist es wirklich sinnvoller, den überflüssigen Verweis zu entfernen, zuviele Verweise verderben den Brei.. äh, die Programmierung. :-)
Gruss
PotzBlitz
Antwort 2 von PotzBlitz
... noch ein kleiner Nachtrag:
ADO wird im Verweise-Fenster als "Microsoft ActiveX Data Objects 2.x" aufgeführt.
Gruss
PotzBlitz
ADO wird im Verweise-Fenster als "Microsoft ActiveX Data Objects 2.x" aufgeführt.
Gruss
PotzBlitz
Antwort 3 von Itschi
Danke,
du hattest recht, war der Verweis!
Ciao
du hattest recht, war der Verweis!
Ciao

