PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Access mit VBA Problem


Unregistered
2003-05-13, 16:45:44
Hi ,
ich versuche gerade einen funktionierenden Quelltext, der auf eine Tabelle die in Access zugreift über DAO zu verändern.Ich möchte (weils der Lehrer so will) es jetzt über ADO machen.
Wenn ich



Dim rst as ADODB.Recordset
rst.Open "tbl_user", CurrentProject.Connection

eingebe , kommt immer Datenobjekt nicht gefunden , obwohl ich unter verweisse Microsoft ADO Ext 2.7 for DDL and Security eingebunden habe. Woran kann das liegen ?

Unregistered
2003-05-14, 17:06:39
Keiner ne Ahnung ?

stabilo_boss13
2003-05-14, 19:44:27
Du musst zuerst mal mit

Set rst = New ADODB.Recordset
nach dem Dim einen Recordset erzeugen. Mit Dim erklärst du dem Programm ja nur, welcher Typ rst sein soll. Aber du hast noch kein Recordset-Objekt damit erzeugt.

Überprüfe CurrentProject.Connection. Stimmt da alles?

Sonst kannst du mit

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
With conn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "data source=" & "sample.mdb"
.Open
End With
eine Verbindung zur Datenbank herstellen und öffnen. Für sample.mdb musst du natürlich deine eigene Datenbank angeben.

Anschließend öffnest du mit

rst.Open "tbl_user", conn, adOpenStatic, adLockBatchOptimistic
den Recordset.

Unregistered
2003-05-15, 15:59:21
Sobald ich Dim rst As New ADODB schon drin habe kann ich wenn ich einen Button drücke die Sub für diesen Button nicht mehr ausführen.

stabilo_boss13
2003-05-15, 16:57:09
Hier noch mal der ganze Code, so wie er bei mir funktioniert:

Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
With conn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "data source=" & "sample.mdb"
.Open
End With

rst.Open "tbl_user", conn

Unregistered
2003-05-15, 17:50:08
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
With conn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "data source=" & test.mdb"
.Open
End With

rst.Open "tbl_user", conn

End Sub

Bei diesem Code kommt direkt Benutzerdefinierter Typ anstelle eines Projekts.

stabilo_boss13
2003-05-15, 19:17:59
Also ich habe es im Access (97, was anderes habe ich leider nicht) so gemacht:

Datenbank geöffnet und unter Verweise "Microsoft ADO 2.7..." ausgewählt. Dann in der Priorität nach oben verschoben, da sonst DAO noch drüber steht.

Anschließend im Formulardesigner ein Formular erstellt, einen Button draufgesetzt und doppelgeklickt. Im Code des Buttons dann einfach den obigen Code von mir eingefügt.