AW: DBOpen?
06.11.2008 08:08:00
Ramses
Hallo
Da "global" nur sehr indifferent ist, wirst du keine allgemein gültige Angabe erhalten.
Hier ein Beispiel wie so was grundsätzlich funktioniert, das musst du halt an deine Bedürfnisse anpassen
Sub Read_AccessDB_and_Fill_Listbox()
' Anbindung an eine Access Datenbank für Mitarbeiteranzeige
Dim dbverbindung As New Connection
Dim rs As New Recordset
Dim mitarb As Worksheet
Dim sql As String
Dim i As Integer
Dim dbname As String
Dim path As String
'Variablen füllen
path = Application.ActiveWorkbook.path
dbname = "Personal.mdb"
Set mitarb = ThisWorkbook.Worksheets(RegMitarb)
'Initialisieren der Verbindung
dbverbindung.Open "provider = microsoft.jet.oledb.4.0;" _
& "Data Source = " & path & "\" & dbname
'SQL String definieren
sql = "SELECT Mitarbeiter, Kurzzeichen, Name FROM Mitarbeiter ORDER BY Mitarbeiter"
'Abfrage öffnen
rs.Open sql, dbverbindung
'Listbox definieren
With Me.lstExistMitarbeiter
.ColumnCount = 3
.ColumnHeads = True
.ColumnWidths = "1cm;2cm;3cm"
End With
i = 0
While Not rs.EOF
Me.lstExistMitarbeiter.AddItem
Me.lstExistMitarbeiter.List(i, 0) = rs!Mitarbeiter
Me.lstExistMitarbeiter.List(i, 1) = rs!Kurzzeichen
Me.lstExistMitarbeiter.List(i, 2) = rs!name
rs.MoveNext
i = i + 1
Wend
rs.Close
dbverbindung.Close
End Sub
Gruss Rainer