![]() |
VB und Datenbanken
Kennt vielleicht jemand ein paar Internetseiten die sich mit dem Thema beschäftigen?
Ich will mit VB auf eine Access Datenbank zugreifen die mehrere Tabellen enthält. Sollte keine Probleme geben wenn ich das mit ADO machen will - oder empfiehlt sich was anderes? Danke schon für eure Antworten. :D |
Hallo!
Also ich mach das mit DAO und mit OpenRecordset, was (für mich) den Vorteil hat, daß ich da SQL verwenden kann. Ein kleines Demo-Programm folgt ... Christian 1) Projekt -> Verweise: Microsoft DAO 3.6 (oder so ähnlich) 2) Source-Code: Dim dbTemp As Database Dim rsTemp As Recordset Set dbTemp = OpenDatabase("D:\Test.mdb") Set rsTemp = dbTemp.OpenRecordset("SELECT * FROM MeineTabelle WHERE PLZ='1230' ORDER BY Nachname, Vorname;") If rsTemp.RecordCount > 0 Then rsTemp.MoveLast rsTemp.MoveFirst For intI = 0 To rsTemp.RecordCount - 1 Debug.Print rsTemp.Fields(0) rsTemp.MoveNext Next intI End If dbTemp.Close |
HI!
Um die Liste der Zugriffsarten komplett zu machen: Ich benutze RDO queries, funktioniert ähnlich wie DAO. :) Hier ein Beispiel von MS das ADO/RDO/DAO in verbindung mit einer Access Datenbank abdeckt. Hier und hier gibts eine kurze Übersicht über ADO/RDO/DAO deren unterschoede und samplecode dazu. lg |
ADO, DAO etc.
Hi,
ich persönlich würd eher ADO und nicht DAO nehmen, da mit DAO die DB-Verbindung (der Workspace) offen gelassen wird, wennst jetzt z.B. mit mehr als einem Benutzer (=Programm) drauf zugreifen willst, dann meldet sich Access, dass schon jemand exklusiv drauf zugreift. Ich würd ne ADODB.Connection machen, dann ein ADODB.Recordset und mit dem dann herumfuhrwerken (das Record Locking lässt sich mit ADO-Cursors ebenfalls gut lösen, falls du dahingehend Anforderungen haben solltest). my-two-cents Martok |
|
@martok
aber mußt du bei ado die verbindung immer neu aufbauen wenn du eine neue sub funktion hast? z.b.: du ladest eine datenbank in ein datagrid feld und beim doppelclick-ereignis muß ich dann ja wieder die datenbank neu laden bzw. den verweis neu herstellen mit set... oder irre ich mich? |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag