Office: Laufzeitfehler 91 bei Ausführen des Switchboards

Helfe beim Thema Laufzeitfehler 91 bei Ausführen des Switchboards in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, bin ein Access-Newbie und wollte meine Datenbank mit einem schönen Switchboard versehen. Sobald ich die Datenbank schließe, um das... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von thunderchild, 9. Mai 2006.

  1. thunderchild Erfahrener User

    Laufzeitfehler 91 bei Ausführen des Switchboards


    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
    ____________________________________________________________
     
    thunderchild, 9. Mai 2006
    #1
  2. freaky
    freaky Erfahrener User
    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?????? ;-)
     
    freaky, 9. Mai 2006
    #2
  3. thunderchild Erfahrener User
    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?
     
    thunderchild, 10. Mai 2006
    #3
  4. thunderchild Erfahrener User

    Laufzeitfehler 91 bei Ausführen des Switchboards

    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.
     
    thunderchild, 10. Mai 2006
    #4
  5. freaky
    freaky Erfahrener User
    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...
     
    freaky, 10. Mai 2006
    #5
  6. freaky
    freaky Erfahrener User
    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....
     
    freaky, 10. Mai 2006
    #6
  7. thunderchild Erfahrener User
    Problemlösung auf anderem Weg gefunden..

    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
     
    thunderchild, 10. Mai 2006
    #7
Thema:

Laufzeitfehler 91 bei Ausführen des Switchboards

Die Seite wird geladen...
  1. Laufzeitfehler 91 bei Ausführen des Switchboards - Similar Threads - Laufzeitfehler Ausführen Switchboards

  2. Laufzeitfehler 9 VBA

    in Microsoft Excel Hilfe
    Laufzeitfehler 9 VBA: Nschdem ich die Office Version von 2010 auf 2019 aktualisiert habe wird mir der Laufzeitfehler 9 ausgegeben. Das ist der Code Sub FiberCollect() Dim NumRows As Long 'letzte celle Dim Counter As...
  3. VBA Laufzeitfehler 9

    in Microsoft Excel Hilfe
    VBA Laufzeitfehler 9: Guten Abende an alle VBA Profi, Ich lerne gerade Programmierung mit VBA und habe fast null Ahnung von Fehlern ich habe folgenden Probleme. ich einen xlsm Datei versuche eine Tabelle mit codename...
  4. [VBA] .Documents.Open -> Laufzeitfehler 91

    in Microsoft Excel Hilfe
    [VBA] .Documents.Open -> Laufzeitfehler 91: Hallo zusammen, bekomme aktuell den Laufzeitfehler 91 an der Codestelle, wo ich versuche ein Word Dokument zu öffnen (Set wdDoc = wdApp.Documents.Open(wbBook.Path & "\" & stWordDocument)), das...
  5. MS Access Lauftzeitfehler "2501"

    in Microsoft Access Hilfe
    MS Access Lauftzeitfehler "2501": Hallo Liebe Office Gemeinde, Ich habe ein Problem mit meinem MS Access, wir haben unsere MA Liste in einer Access DB. Wenn man in unserem Formular auf "Drucken MA" klickt dann wird eine PDF...
  6. Laufzeitfehler 1004 bei Ausführen von Autofilter über Makro

    in Microsoft Excel Hilfe
    Laufzeitfehler 1004 bei Ausführen von Autofilter über Makro: Hallo, ich bin neu hier und brauche mal Unterstützung zum folgenden Makro: Leider bin ich nicht so firm darin und habe mir das Makro sozusagen "zusammen gestoppelt". Folgende Ausgangssituation:...
  7. Laufzeitfehler 2147467259 bei Makro-Ausführung

    in Microsoft Excel Hilfe
    Laufzeitfehler 2147467259 bei Makro-Ausführung: Hallo! Ich verwende folgendes Makro, welches im Prinzip tip-top funktioniert: Private Sub CommandButton2_Click() Dim MyOutApp As Object, MyMessage As Object Dim i As Long 'Start der...
  8. Die Ausführung dieser Anwendung wurde wegen eines Laufzeitfehlers angehalten

    in Microsoft Access Hilfe
    Die Ausführung dieser Anwendung wurde wegen eines Laufzeitfehlers angehalten: Hallo, ich programmiere am Arbeitsplatz eine Access Datenbank mit der MS-Access Vollversion. Wenn ich jedoch versuche, die Datenbank an einem anderen Rechner im Geschäft zu öffnen (hier steht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden