Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriff auf Access-Tabelle

Zugriff auf Access-Tabelle
03.07.2008 13:59:19
Franz
Hallo zusammen,
in meinem Excelsheet habe ich eine Userform "frm_Auswahl" in der
ein Listenfeld "lstvalues" die Daten einer Access-Tabelle "tab_Informationen" einlesen soll.
In das Listenfeld sollen die Daten der Access-Spalten "Kennz" und "Maßnahme" eingelesen werden.
Mit dem untenstehenden Code bekomme ich einen Laufzeitfehler: Installierbares ISAM nicht gefunden.
Hat jemand eine Idee, wo der Fehler sein könnte?
Gruß Franz

Private Sub UserForm_Initialize() 'Laden Userform mit Listenfeld'
Dim AccApp As Object
Dim conn As New ADODB.Connection
Dim DBS As ADODB.Recordset
Dim TFrm As Variant
Dim s As String
Set AccApp = CreateObject("Access.Application")
Set DBS = New ADODB.Recordset
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Soure=U:\Maßnahmen.mdb;"
s = lstValues.Value 'Name Listenfeld'
TFrm = frm_Auswahl  'Name Userform
DBS.Open "tab_Information", conn, adOpenKeyset, adLockOptimistic
On Error GoTo Fehler
DBS.Find s
s = DBS!Kennz
With TFrm
.lstValues.Value = DBS!Kennz
.lstValues.Value = DBS!Maßnahme
End With
DBS.Close
AccApp.Quit
Set DBS = Nothing
Set conn = Nothing
Fehler:
MsgBox "Keine Verbindung zur Datenbank"
DBS.Close
End Sub


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kleine Ursache?
03.07.2008 14:08:00
Erich
Hallo Franz,
vielleicht reicht schon "Data Source" statt "Data Soure"
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Kleine Ursache?
03.07.2008 14:17:00
Franz
Hallo Erich,
vielen Dank für den Hinweis. Jetzt bekomme ich noch die Meldung Laufzeitfehler 94: Unzulässige Verwendung von Null. Hast Du noch ein Tipp?
Danke.
Gruß Franz

AW: Kleine Ursache?
03.07.2008 15:57:21
Erich
Hi Franz,
jetzt hab ich noch mal kurz in den Code geschaut.
Aufgefallen sind mir die Zeilen
Dim TFrm As Variant
TFrm = frm_Auswahl 'Name Userform
With TFrm
.lstValues.Value = DBS!Kennz
.lstValues.Value = DBS!Maßnahme
End With
Ich geh mal davon aus, dass dies im Code der UF "frm_Auswahl" steht.
Wofür brauchst du dann TFrm?
Wenn TFrm ein UF-Objekt sein sololte, dann müsste die Vari9able mit einem Set-Befehl belegt werden.
Oder sollte in TFrm nur der Name einer UF? Dann aber könnte das With ... nicht funzen.
Was willst du mit
.lstValues.Value = DBS!Kennz
.lstValues.Value = DBS!Maßnahme
erreichen?
Willst du den Namen des Listenfelds ändern? (In DBS!Kennz oder DBS!Maßnahme)
Oder willst du hier neue Einträge in die Listbox schreiben?
Das "On Error GoTo Fehler" würde ich erst mal auskommentieren. Dann siehst du den Fehler.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Kleine Ursache?
03.07.2008 16:07:07
Franz
Hallo Erich,
ich möchte aus meiner Access-Tabelle "tab_Informationen", die Felder Kennz und Maßnahme in mein Listenfeld "lstValues" anzeigen lassen, ab keine Daten im Listenfeld ändern. Es sollten aber alle Felder von Kennz und Maßnahme im Listenfeld erscheinen.
Danke.
Gruß Franz

AW: Kleine Ursache?
03.07.2008 17:58:51
Hoffi
Hallo Franz,
ungetestet:

Sub TT()
Dim DB As Database
Dim DBS As Recordset
Dim RS As Recordset
Dim SQL As String
Dim dbFile As String
dbFile = "U:\Maßnahmen"
Set DB = Workspaces(0).OpenDatabase(dbFile, False, False)
Set DBS = DB.OpenRecordset("tab_Information")
SQL = "SELECT Kennz, Maßnahme FROM " & DBS.Name
Set RS = DB.OpenRecordset(SQL)
If RS.RecordCount > 0 Then
While Not RS.EOF
lstValues.AddItem RS("Kennz")
lstValues.AddItem RS("Maßnahme")
RS.MoveNext
Wend
Else
MsgBox "Keine Daten vorhanden", 64, "Fehler"
End If
Set DB = Nothing
Set DBS = Nothing
Set RS = Nothing
End Sub


Verweis auf Microsoft DAO 3.51Object Library muss gesetzt sein.
Grüße
Hoffi

Anzeige
AW: Kleine Ursache?
03.07.2008 22:40:52
Franz
Hallo Hoffi,
vielen Dank für den Code. Ich bekomme die Meldung: Fehler beim komilieren, Methode oder Datenobjekt.
nicht gefunden. Der Curor bleibt bei DBS.Name stehen. Muss ich noch den Datenbanknahmen "Maßnahmen.mdb" angeben?
Danke, Gruß Franz
SQL = "SELECT Kennz, Maßnahme FROM " & DBS.Name

AW: Kleine Ursache?
04.07.2008 08:26:00
Franz
Hallo Ihr,
habe es hin bekommen. Es funkt! Danke Euch zwei. Lösung: Ich habe alle Felder in meiner Access-Tabelle gefüllt und den Namen richtig angeben.
Gruß Franz

AW: Kleine Ursache?
07.07.2008 07:46:00
Hoffi
Hallo Franz,
Ich hatte mich vertan, der Verwis auf die Bibliothek
Microsoft DAO 3.6 muss gesetzt sein, nicht 3.51
Dann funzt der code bei mir jedenfalls tadelos.
Grüße
Hoffi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige