[About]

[SPEED Ferret Knowledge Base]

[Lillig & Zahn Company Logo]
Fehlermeldung "Object variable or With block variable not set" bei der Eingabe von Access Projekt Parametern

Zurück zum Hauptindex

Artikel ID: SFKB0035
Datum: 17. Mai 2001
Gilt für: SPEED Ferret 4.0

Symptome

SPEED Ferret meldet run-time error 91 (Object variable of With block variable not set) wenn Sie im Access 97 oder Access 200 Projekt Parameter Dialogfenster auf OK drücken.

Ursache

SPEED Ferret konnte die Arbeitsgruppendatei, die Sie im Feld Workgroup Filename angegeben haben nicht finden.

Der wahrscheinlichste Fall ist, dass die angegebene Datei keine gültige Arbeitsgruppendatei ist. Eine andere Möglichkeit ist, dass ein Fehler in Ihrer Microsoft DAO und/oder Microsoft Jet Software Installation vorliegt.

Hintergrund

Jede Version von Access bringt Ihre eigenen Arbeitsgruppendatei system.mdw mit sich. Diese wird üblicherweise im Verzeichnis Windows\System (oder Winnt\System32) installiert. Es ist auch möglich, dass es sich eine gemeinsam benutzte Datei von einem Netzwerklaufwerk zu verwenden.

Jede Kopie von Access bringt auch ihre eigene Version der Microsoft DAO (Data Access Objects) und der Microsoft Jet Datenbankengine mit sich. SPEED Ferret verwendet DAO Funktionalität die von den meisten Access Anwendungen nicht gefordert wird. Es kann also ein DAO oder Jet Installationsproblem vorliegen, ohne dass Sie dies bemerken bis Sie SPEED Ferret verwenden.

Workaround

Stellen Sie sicher, dass Sie den korrekten Pfad für Ihre Arbeitsgruppendatei im Feld Workgroup Filename angegeben haben.

Wenn dadurch das Problem nicht behoben wird, müssen Sie wie folgt vorgehen um festzustellen warum SPEED ferret keinen DAO Workspace auf Ihrem System erstellen kann:

  1. Erstellen Sie eine Access 97 oder Access 2000 Datenbank.
  2. Erstellen Sie ein neues Modul
  3. Fügen Sie den nachfolgenden Code in das neue Modul ein.
  4. Setzen Sie einen Verweis auf die DAO 3.51 oder 3.6 Object Library. (Wählen Sie hierzu Extras/Verweise)
  5. Setzen Sie die Konstanten WorkgroupPath, Username und Password wie erforderlich.
  6. Öffnen Sie das Direktfenster und führen Sie die Test() Funktion aus.

Sub Test()
  Const cWorkgroupPath = "c:\winnt\system32\system.mdw"
  Const cUsername = "Admin"
  Const cPassword = ""
  Dim DBEngine As DAO.DBEngine
  Dim Workspace As DAO.Workspace
  Dim ErrCode As Long
  Dim ErrMsg As String
  On Error Resume Next
  Set DBEngine = New DAO.DBEngine
  ErrCode = Err.Number
  ErrMsg = Err.Description
  On Error GoTo 0
  If ErrCode <> 0 Then
    Debug.Print "Unable to instantiate DBEngine. Run-time error " + CStr(ErrCode) + ": " + ErrMsg
    Exit Sub
  End If
  On Error Resume Next
  DBEngine.SystemDB = cWorkgroupPath
  ErrCode = Err.Number
  ErrMsg = Err.Description
  On Error GoTo 0
  If ErrCode <> 0 Then
    Debug.Print "Unable to set SystemDB. Run-time error " + CStr(ErrCode) + ": " + ErrMsg
    Exit Sub
  End If
  On Error Resume Next
  Set Workspace = DBEngine.CreateWorkspace("SPEEDFerret", cUsername, cPassword)
  ErrCode = Err.Number
  ErrMsg = Err.Description
  On Error GoTo 0
  If ErrCode <> 0 Then
    Debug.Print "Unable to create workspace. Run-time error " + CStr(ErrCode) + ": " + ErrMsg
    Exit Sub
  End If
  Debug.Print "Workspace created successfully."
  Debug.Print "UserName: " + Workspace.UserName
End Sub

Eine oder mehrere Zeilen werden daraufhin in Ihrem Direktfenster ausgegeben.

Wird die Meldung "Unable to create workspace. Run-time error 3445: Incorrect version of the DLL file 'MSJET35.DLL' was found." angezeigt, so ist Ihre DAO und/oder Jet installation beschädigt und Sie müssen Microsoft Access neu installieren.

Lösung

In der nächsten SPEED Ferret Version wird die Fehlerbehandlung verbessert und es wird eine Fehlerbeschreibung angezeigt, die den genauen Grund angibt, warum die Arbeitsgruppendatei nicht geöffnet werden konnte. Das Veröffentlichungsdatum des Updates wurde noch nicht festgelegt. Näheres wird auf unserer Homepage (www.liza.com) bekanntgegeben.

Copyright (c) 1998-2004 Lillig & Zahn Softwarentwicklung und Black Moshannon Systems. Alle Rechte vorbehalten.
SPEED Ferret ist ein Warenzeichen von Black Moshannon Systems.