PDA

Vollständige Version anzeigen : Fehlermeldung


Debus
05.07.2006, 10:56
Hey, warum bekomme ich hier die Fehlermeldung Objektvariable or With Block Variable nicht festgelegt




Private Sub Befehl0_Click()
Dim db As Database
Dim wrkjet As Workspace
Dim rs As Recordset
Dim Bank As String
Bank = "p:\Bärbel\Daten.mdb"
Set db = wrkjet.OpenDatabase(Bank)
Set rs = db.OpenRecordset("TAB_DAT_HIERARCHIE")


Do While Not rs.EOF
If rs.Fields("TITEL_V") = "Bezirksdirektion" Then
MsgBox rs.Fields("Nachname")
rs.Fields("Nachname") = ""
End If
Loop




End Sub



Der Fehler kommt in der Zeile Set db = .......


Danke

FW
05.07.2006, 10:59
... weil wrkjet nicht gesetzt ist...

Debus
05.07.2006, 11:01
Und, wie setzte ich das?

FW
05.07.2006, 11:07
... Aus der OH:
Verwenden Sie das Workspace-Objekt, um die aktuelle Sitzung zu verwalten oder eine weitere Sitzung zu starten.

Sobald Sie das erste Mal auf das Workspace-Objekt verweisen oder es erstmals verwenden, erstellen Sie automatisch den Standard-Arbeitsbereich, DBEngine.Workspaces(0). Die Einstellungen der Eigenschaften Name und UserName des Standard-Arbeitsbereichs sind "#Default Workspace#" bzw. "Admin". Bei aktivierten Sicherheitsmechanismen entspricht die Einstellung der UserName-Eigenschaft dem Namen des angemeldeten Benutzers.

Sie können neue Workspace-Objekte mit der CreateWorkspace-Methode erstellen. Neue Workspace-Objekte müssen Sie nach dem Erstellen an die Workspaces-Auflistung anfügen, wenn Sie aus der Workspaces-Auflistung darauf verweisen müssen. Sie können neu erstellte Workspace-Objekte aber auch verwenden, ohne sie an die Workspaces-Auflistung anzufügen.

Sie verweisen auf ein Workspace-Objekt in einer Auflistung über die zugehörige Ordinalzahl oder die Einstellung der Name-Eigenschaft unter Verwendung der folgenden Syntax.

DBEngine.Workspaces(0)
...

Debus
05.07.2006, 11:18
Hab ich nun gemacht, aber nun bekomme ich die Fehlermeldung

Nichterkennbares Datenbankformat




Private Sub Befehl0_Click()
Dim db As Database
Dim wrkjet As Workspace
Dim rs As Recordset
Dim Bank As String
Bank = "p:\Bärbel\Daten.mdb"
Set wrkjet = CreateWorkspace("", "Admin", "", dbUseJet)
Set db = wrkjet.OpenDatabase(Bank)
Set rs = db.OpenRecordset("TAB_DAT_HIERARCHIE")


Do While Not rs.EOF
If rs.Fields("TITEL_V") = "Bezirksdirektion" Then
MsgBox rs.Fields("Nachname")
rs.Fields("Nachname") = ""
End If
Loop




End Sub

FW
05.07.2006, 11:22
... unterschiedliche Acc-Versionen?
Ansonsten genügt Set wrkjet = DBEngine.Workspaces(0)...

Debus
05.07.2006, 11:35
Danke, das hat erstmal wieder ein Stück weitergeholfen. Bekomme aber nun in der Zeile Set rs den Fehler Typen unverträglich.

FW
05.07.2006, 11:45
... seh' ich so auf Anhieb auch nichts?
DAO-/ADO-Problem?

Debus
05.07.2006, 12:35
Werde weiter suchen,

Danke trotzdem

Arne Dieckmann
05.07.2006, 12:41
Deklariere mal so:
Dim rs As DAO.Recordset - der Verweis auf DAO ist ja hoffentlich gesetzt (s. FAQ 7.11).

Debus
05.07.2006, 12:55
Danke Arne das wars

Danke aber auch Dir FW