Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Laufzeitfehler 91 bei Ausführen des Switchboards
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
thunderchild
Newbie
Newbie


Anmeldedatum: 09.05.2006
Beiträge: 16

BeitragVerfasst am: 09.05.2006, 17:17 Nach oben

Hallo Forum,

bin ein Access-Newbie und wollte meine Datenbank mit einem schönen Switchboard versehen. Sobald ich die Datenbank schließe, um das Ausführen des Switchboards zu starten, bekomme ich einen Laufzeitfehler '91'."Objektvariable oder Withblockvaraible nicht festgelegt". Danach zeigt mir Visual Basic beim Debuggen den folgenden Code, dort, wo ich mit mehreren XXXX markiert habe markiert VB den Code gelb (Zeile: rs.Open stSql, con, 1 ' 1 = adOpenKeyset ). Leider kenne ich mich mit VB nicht aus, was kann ich tun?

Thunderchild
____________________________________________________________
Option Compare Database

Private Sub Form_Open(Cancel As Integer)
' Minimize the database window and initialize the form.

' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Standard' "
Me.FilterOn = True

End Sub

Private Sub Form_Current()
' Update the caption and fill in the list of options.

Me.Caption = Nz(Me![ItemText], "")
FillOptions

End Sub

Private Sub FillOptions()
' Fill in the options for this switchboard page.

' The number of buttons on the form.
Const conNumButtons = 8

Dim con As Object
Dim rs As Object
Dim stSql As String
Dim intOption As Integer

' Set the focus to the first button on the form,
' and then hide all of the buttons on the form
' but the first. You can't hide the field with the focus.
Me![Option1].SetFocus
For intOption = 2 To conNumButtons
Me("Option" & intOption).Visible = False
Me("OptionLabel" & intOption).Visible = False
Next intOption

' Open the table of Switchboard Items, and find
' the first item for this Switchboard Page.
Set con = Application.CurrentProject.Connection
stSql = "SELECT * FROM [Switchboard Items]"
stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]
stSql = stSql & " ORDER BY [ItemNumber];"
Set rs = CreateObject("ADODB.Recordset")
rs.Open stSql, con, 1 ' 1 = adOpenKeyset

' If there are no options for this Switchboard Page,
' display a message. Otherwise, fill the page with the items.
If (rs.EOF) Then
Me![OptionLabel1].Caption = "Es sind keine Elemente für diese Übersichtsseite vorhanden."
Else
While (Not (rs.EOF))
Me("Option" & rs![ItemNumber]).Visible = True
Me("OptionLabel" & rs![ItemNumber]).Visible = True
Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText]
rs.MoveNext
Wend
End If

' Close the recordset and the database.
rs.Close
Set rs = Nothing
Set con = Nothing

End Sub

Private Function HandleButtonClick(intBtn As Integer)
' This function is called when a button is clicked.
' intBtn indicates which button was clicked.

' Constants for the commands that can be executed.
Const conCmdGotoSwitchboard = 1
Const conCmdOpenFormAdd = 2
Const conCmdOpenFormBrowse = 3
Const conCmdOpenReport = 4
Const conCmdCustomizeSwitchboard = 5
Const conCmdExitApplication = 6
Const conCmdRunMacro = 7
Const conCmdRunCode = 8
Const conCmdOpenPage = 9

' An error that is special cased.
Const conErrDoCmdCancelled = 2501

Dim con As Object
Dim rs As Object
Dim stSql As String

On Error GoTo HandleButtonClick_Err

' Find the item in the Switchboard Items table
' that corresponds to the button that was clicked.
Set con = Application.CurrentProject.Connection
Set rs = CreateObject("ADODB.Recordset")
stSql = "SELECT * FROM [Switchboard Items] "
stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn
rs.Open stSql, con, 1 ' 1 = adOpenKeyset 'XXXXXXXXXXXXXX'

' If no item matches, report the error and exit the function.
If (rs.EOF) Then
MsgBox "Beim Lesen der Tabelle Switchboard Items trat ein Fehler auf."
rs.Close
Set rs = Nothing
Set con = Nothing
Exit Function
End If

Select Case rs![Command]

' Go to another switchboard.
Case conCmdGotoSwitchboard
Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument]

' Open a form in Add mode.
Case conCmdOpenFormAdd
DoCmd.OpenForm rs![Argument], , , , acAdd

' Open a form.
Case conCmdOpenFormBrowse
DoCmd.OpenForm rs![Argument]

' Open a report.
Case conCmdOpenReport
DoCmd.OpenReport rs![Argument], acPreview

' Customize the Switchboard.
Case conCmdCustomizeSwitchboard
' Handle the case where the Switchboard Manager
' is not installed (e.g. Minimal Install).
On Error Resume Next
Application.Run "ACWZMAIN.sbm_Entry"
If (Err <> 0) Then MsgBox "Befehl nicht verfügbar."
On Error GoTo 0
' Update the form.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Standard' "
Me.Caption = Nz(Me![ItemText], "")
FillOptions

' Exit the application.
Case conCmdExitApplication
CloseCurrentDatabase

' Run a macro.
Case conCmdRunMacro
DoCmd.RunMacro rs![Argument]

' Run code.
Case conCmdRunCode
Application.Run rs![Argument]

' Open a Data Access Page
Case conCmdOpenPage
DoCmd.OpenDataAccessPage rs![Argument]

' Any other command is unrecognized.
Case Else
MsgBox "Unbekannte Option."

End Select

' Close the recordset and the database.
rs.Close

HandleButtonClick_Exit:
On Error Resume Next
Set rs = Nothing
Set con = Nothing
Exit Function

HandleButtonClick_Err:
' If the action was cancelled by the user for
' some reason, don't display an error message.
' Instead, resume on the next line.
If (Err = conErrDoCmdCancelled) Then
Resume Next
Else
MsgBox "Bei der Ausführung des Befehls trat ein Fehler auf.", vbCritical
Resume HandleButtonClick_Exit
End If

End Function
____________________________________________________________

_________________
Access-Exzesse am laufenden Band
Benutzer-Profile anzeigenPrivate Nachricht senden
freaky
Moderator
Moderator


Anmeldedatum: 11.04.2006
Beiträge: 751
Wohnort: im Norden

BeitragVerfasst am: 09.05.2006, 17:44 Nach oben

Hi,

ohne das genau zu prüfen - setz das mal in Klammern:

rs.Open(stSql, con, 1 ' 1) = adOpenKeyset

BTW: was soll denn das "1 ' 1" sein?????? Wink

_________________
Gruß
freaky
----------------------------------------------------------------
Windows 2000, Windows XP
Office 97, Office 2000, Office 2003 und Office 2007
_____________________________________________
Feedback nicht vergessen....
---------------------------------------------------------------
Benutzer-Profile anzeigenPrivate Nachricht senden
thunderchild
Newbie
Newbie


Anmeldedatum: 09.05.2006
Beiträge: 16

BeitragVerfasst am: 10.05.2006, 09:09 Nach oben

Erstmal danke für die Hilfe.

Was dieser Code soll weiß ich nicht - er wurde automatisch von Access generiert, als ich zum ersten Mal die Switchboard-Funktion aufgerufen und einige Buttons angelegt habe, und ich kann VB leider (noch?) nicht lesen und verstehen, auch wenn da ja einige Hilfestellungen in Fließtext drin sind. Ich habe schon versucht, die Tabelle wieder zu löschen aber das geht nicht. Ich habe auch den Inhalt stark vereinfacht bis auf einen einzigen Button - trotzdem die gleiche Reaktion.

Jetzt versuche ich erst einmal die Klammern-klappt leider noch nicht, VB gibt mir einen Syntax-Fehler aus.

("Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck Beim Öffnen eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Syntaxfehler.* Der Ausdruck gibt möglicherweise werder den Namen eines Makros noch den Namen einer benutzerdefinierten Funktion noch [Ereignisprozedur] zurück. *Beim Auswerten einer Funktion, eines Ereignisses oder eines MAkros trat möglicherweise ein Fehler auf.")

Soll ich die Klammern da lassen oder etwas neues versuchen? Kann man nicht eine "Testdatenbank" aufmachen und ein leeres Switchboard generieren lassen, den VB-Code kopieren und dann hier einfügen?

_________________
Access-Exzesse am laufenden Band
Benutzer-Profile anzeigenPrivate Nachricht senden
thunderchild
Newbie
Newbie


Anmeldedatum: 09.05.2006
Beiträge: 16

BeitragVerfasst am: 10.05.2006, 09:28 Nach oben

Ich habe jetzt das Switchboard und den passenden Bericht gelöscht und noch einmal neu erstellt - jetzt öffnet sich zumindest die DB mit dem Formular "Übersicht" - aber da sind nicht die Optionen drin, die ich beim Klick auf den Übersichts-Manager eingegeben habe, sondern es steht nix drin - und entsprechend bringt das Anklicken der Knöpfe nur Fehlermeldungen.

_________________
Access-Exzesse am laufenden Band
Benutzer-Profile anzeigenPrivate Nachricht senden
freaky
Moderator
Moderator


Anmeldedatum: 11.04.2006
Beiträge: 751
Wohnort: im Norden

BeitragVerfasst am: 10.05.2006, 11:15 Nach oben

Hi,

ich habs mir jetzt mal genauer angesehen. Mein Tipp konnte nicht zum Ziel führen - also wieder vergessen. Das war ein Teil eines Komemntares...

BTW: kannst du in Deinem 1. Beitrag den Code mal in ein Code-Tag setzen? Das ist leichter zu lesen....(den gesamten Code markieren udn dann auf die Schaltfläche "CODE" klicken...)

Ich persönlich benutze diesen automatisch generierten Code nicht.

Die Übersicht ist ja auch nichts anderes als ein selbst erstelltes Formualr mit Befehlsschaltflächen.

So aus Deinem Code kann ich nicht erkennen, wo der Fehler sein soll... Bin aber noch am vergleichen...

_________________
Gruß
freaky
----------------------------------------------------------------
Windows 2000, Windows XP
Office 97, Office 2000, Office 2003 und Office 2007
_____________________________________________
Feedback nicht vergessen....
---------------------------------------------------------------
Benutzer-Profile anzeigenPrivate Nachricht senden
freaky
Moderator
Moderator


Anmeldedatum: 11.04.2006
Beiträge: 751
Wohnort: im Norden

BeitragVerfasst am: 10.05.2006, 11:34 Nach oben

Hi nochmal..

wenn Du den Manger gestartet hats und dort Einträge vornimmst wird eine neue Tabelle erstellt. Diese Tabelle enthält dann die entsprechenden Werte. Hast du da irgendeine Veränderung vorgenommen? Denn die Punkte werden dort nur eingelesen - aber die Funktionalität dreht sich schon dann um die Tabelle...

Sonst könntest du mir aml Deine DB zumailen - dann schau ich es mit an:

freaky.forum@hoprah.de

Das dürfte einfacher sein als eine Ferndiagnose....

_________________
Gruß
freaky
----------------------------------------------------------------
Windows 2000, Windows XP
Office 97, Office 2000, Office 2003 und Office 2007
_____________________________________________
Feedback nicht vergessen....
---------------------------------------------------------------
Benutzer-Profile anzeigenPrivate Nachricht senden
thunderchild
Newbie
Newbie


Anmeldedatum: 09.05.2006
Beiträge: 16

BeitragVerfasst am: 10.05.2006, 14:49 Nach oben

Hallo freaky,

ich habe jetzt eine (einfachere?) Lösung gefunden. Ich habe auf der "homepage" der DB einen unbeschrifteten Knopf gehabt. Den habe ich kopiert und mit beSchriftungen versehen. Daran habe ich dann Makros gehängt, die die Formulare und Berichte öffnen. Vielleicht nicht so elegant, aber klappt auch.

Sicher kommen noch mehr Fragen...

Danke für die Hilfe,

Thunderchild

_________________
Access-Exzesse am laufenden Band
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Vor Ausführen des cmdButtons Zelle ab... Totte1987 Microsoft Excel Hilfe 2 26.06.2008, 17:35 Letzten Beitrag anzeigen
Keine neuen Beiträge Laufzeitfehler '1004' Brauche Hilfe! timi Microsoft Excel Hilfe 1 15.06.2008, 15:38 Letzten Beitrag anzeigen
Keine neuen Beiträge Mehrere Abfragen, auch Aktionsabfrage... lagenie Microsoft Access Hilfe 1 19.05.2008, 21:03 Letzten Beitrag anzeigen
Keine neuen Beiträge Tanktabelle, immer selbe Division aus... Dreamforcer Microsoft Excel Hilfe 2 15.05.2008, 16:46 Letzten Beitrag anzeigen
Keine neuen Beiträge Laufzeitfehler -2147221164 (80040154) Penni Microsoft Access Hilfe 0 05.04.2008, 19:27 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de