gingerswelt
Mitglied
Hallo zusammen,
ich versuche seit Stunden eine einfache Datenbankanbindung mit VBasic
zu realisieren. Das kann doch nicht so schwer sein.
Dennoch bekomme ich stets die Fehlermeldung 'Benutzerdefinierter Typ nicht definiert'.
Mein Skript.
Vermutlich kann er das Object DAO.Database nicht finden.
Wenn ich unter Extra/Verweise schaue, so ist Verweise nicht markiert.
Das heißt doch, dass keine Libary eingebunden ist, oder?
Nun dafür habe ich folgendes Script eingebunden:
Führe ich mein Script aus, dann erhalte ich den Fehler, dass 29060: Datei nicht gefunden
bzw. Verweis konnte nicht eingestellt werden.
Trotzdem kann ich dann unter Extra/Verweise eine Liste an Bibliotheken sehen,
wobei ADO vorhanden ist. Führe ich das gleiche Script noch einmal aus, so sind alle Verweise wieder verschwunden.
Was kann ich tun?
ich versuche seit Stunden eine einfache Datenbankanbindung mit VBasic
zu realisieren. Das kann doch nicht so schwer sein.
Dennoch bekomme ich stets die Fehlermeldung 'Benutzerdefinierter Typ nicht definiert'.
Mein Skript.
Code:
Sub combineTable()
Dim db As DAO.Database
Dim dy As DAO.Recordset
'Datenbank öffnen, Variable für Record definieren
'hier ein fiktiver Pfad!
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\Dokumente und Einstellungen\ginger\Desktop\test.mdb")
'Recordset zur Tabelle "x1" öffnen
Set dy = db.OpenRecordset("x1", dbOpenDynaset)
'Änderungen ankündigen
dy.Edit
'gewünschten Satz wählen, hier den letzten
dy.MoveLast
'veränderten Datumswert angeben
dy.Fields("Feld2").Value = Michelangelo
'Werte sichern (in Datenbank schreiben)
dy.Update
dy.Close
End Sub
Vermutlich kann er das Object DAO.Database nicht finden.
Wenn ich unter Extra/Verweise schaue, so ist Verweise nicht markiert.
Das heißt doch, dass keine Libary eingebunden ist, oder?
Nun dafür habe ich folgendes Script eingebunden:
Code:
Function VerweiseLesen()
Dim fso As New FileSystemObject
On Error Resume Next
Dim verweis As Reference
For Each verweis In Application.References
MsgBox verweis.FullPath
MsgBox fso.GetFileVersion(verweis.FullPath)
If Err.Number <> 0 Then MsgBox verweis.Name: Err.Clear
Next
End Function
Function HinzufügenReferenz() As Boolean
Dim ref As Reference, strDatei As String
On Error GoTo Error_HinzufügenReferenz
strDatei = "C:\Windows\System\Mscal.ocx"
' Verweis auf Kalender-Steuerelement erstellen.
Set ref = References.AddFromFile(strDatei)
HinzufügenReferenz = True
Exit_HinzufügenReferenz:
Exit Function
Error_HinzufügenReferenz:
MsgBox Err & ": " & Err.Description
HinzufügenReferenz = False
Resume Exit_HinzufügenReferenz
End Function
Function EntfernenReferenz() As Boolean
Dim ref As Reference
On Error GoTo Error_EntfernenReferenz
Set ref = References!MSACAL
' Verweis auf Kalender-Steuerelement entfernen.
References.Remove ref
EntfernenReferenz = True
Exit_EntfernenReferenz:
Exit Function
Error_EntfernenReferenz:
MsgBox Err & ": " & Err.Description
EntfernenReferenz = False
Resume Exit_EntfernenReferenz
End Function
'Das folgende Beispiel erstellt einen Verweis auf eine bestimmte Klassenbibliothek:
Function ReferenceFromFile(strDateiname As String) As Boolean
Dim ref As Reference
On Error GoTo Error_ReferenceFromFile
Set ref = References.AddFromFile(strDateiname)
ReferenceFromFile = True
Exit_ReferenceFromFile:
Exit Function
Error_ReferenceFromFile:
MsgBox Err & ": " & Err.Description
ReferenceFromFile = False
Resume Exit_ReferenceFromFile
End Function
'Sie können diese Funktion aufrufen, indem Sie eine Prozedur ähnlich der folgenden verwenden, die einen Verweis auf das Kalender-Steuerelement erstellt:
Sub CreateCalendarReference()
On Error GoTo MyError
Dim db As DAO.Database
Dim strDaten As String
Dim i As Integer
Set db = CurrentDb()
strDaten = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "DeineDaten.mdb"
For i = 0 To db.TableDefs.Count - 1
If db.TableDefs(i).Connect <> "" Then
If Mid(db.TableDefs(i).Connect, 11) <> strDaten Then
db.TableDefs(i).Connect = ";database=" & strDaten
db.TableDefs(i).RefreshLink
End If
End If
Next i
MyExit:
Exit Sub
MyError:
MsgBox "Bei der Installation ist eine Ausnahme aufgetreten. ", 16, "Ausnahme"
Resume MyExit
If ReferenceFromFile("C:\WINDOWS\SYSTEM\MSCAL.OCX") = True Then
MsgBox "Verweis wurde erfolgreich eingestellt."
Else
MsgBox "Verweis konnte nicht eingestellt werden."
End If
End Sub
Führe ich mein Script aus, dann erhalte ich den Fehler, dass 29060: Datei nicht gefunden
bzw. Verweis konnte nicht eingestellt werden.
Trotzdem kann ich dann unter Extra/Verweise eine Liste an Bibliotheken sehen,
wobei ADO vorhanden ist. Führe ich das gleiche Script noch einmal aus, so sind alle Verweise wieder verschwunden.
Was kann ich tun?