Hallo,
habe ein Problem mit einem Skript, das eigentlich immer problemlos lief. Auf einem neuen Rechner bricht das Skript mit der Fehlermeldung "Typen unverträglich" beim Anlegen des Workspaces ab:
Set dbworkspace = DAO.CreateWorkspace("SUSDOCWorkspace", dbuser, dbpassw, dbUseODBC)
Hier ist mal der relevante Code:
---------------------------------------------------------------------
Dim dbconnection As DAO.Connection
Dim dbworkspace As DAO.Workspace
Sub dberrorhandler()
Dim strError As String
Dim errLoop As Error
' Errors-Auflistung enumerieren und die
' Eigenschaften eines jeden Error-Objekts anzeigen.
For Each errLoop In Errors
With errLoop
strError = _
"Error #" & .Number & vbCr
strError = strError & _
" " & .Description & vbCr
strError = strError & _
" (Source: " & .Source & ")" & vbCr
strError = strError & _
"Press F1 to see topic " & .HelpContext & vbCr
strError = strError & _
" in der Datei" & .HelpFile & "."
End With
MsgBox strError
Next
' Damit nicht noch etwas schlimmes passiert ...
MsgBox "Programm wird beendet!", vbCritical
End
End Sub
Function dbverbindungaufbauen(ByVal dbuser As String, ByVal dbpassw As String) As Boolean
Dim dbipaddress As String
Dim dbdatabasename As String
On Error GoTo dbopenerror
dbipaddress = GetSetting("Dokumentverwaltung", "Datenbank", "IP-Adresse", "")
If dbipaddress = "" Then
dbipaddress = InputBox("IP-Adresse des Datenbankservers unbekannt. Bitte eingeben:", "Dokumentenverwaltung")
If dbipaddress <> "" Then
SaveSetting "Dokumentverwaltung", "Datenbank", "IP-Adresse", dbipaddress
End If
End If
dbdatabasename = GetSetting("Dokumentverwaltung", "Datenbank", "Datenbankname", "")
If dbdatabasename = "" Then
dbdatabasename = InputBox("Name der Datenbank unbekannt. Bitte eingeben:", "Dokumentenverwaltung", "dokumentenverwaltung")
If dbdatabasename <> "" Then
SaveSetting "Dokumentverwaltung", "Datenbank", "Datenbankname", dbdatabasename
End If
End If
If dbipaddress <> "" And dbdatabasename <> "" Then
Set dbworkspace = DAO.CreateWorkspace("SUSDOCWorkspace", dbuser, dbpassw, dbUseODBC)
Set dbconnection = dbworkspace.OpenConnection("DOKSUS", dbDriverNoPrompt, , "ODBC;DSN=SUSDOC;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=" & dbdatabasename & ";SERVER=" & dbipaddress & ";PORT=3306;OPTION=" & 1 + 2 + 16 & ";STMT=;;")
dbverbindungaufbauen = True
Else
dbverbindungaufbauen = False
End If
Exit Function
dbopenerror:
dberrorhandler
SaveSetting "Dokumentverwaltung", "Datenbank", "IP-Adresse", ""
SaveSetting "Dokumentverwaltung", "Datenbank", "Datenbankname", ""
dbverbindungaufbauen = False
End Function
Sub Main()
Dim dbverbindungaufgebaut As Boolean
dbverbindungaufgebaut = dbverbindungaufbauen("user", "passwort")
If dbverbindungaufgebaut Then
MsgBox "Verbindung OK"
Else
MsgBox "Verbindung mit Dokumentarchiv kann nicht aufgebaut werden!" & vbCrLf & "Bitte wenden Sie sich an Ihren Systemverwalter!", vbCritical
End If
End Sub
----------------------------------------------------
Jemand eine Idee?
gruß
Jörg |