Office: (Office 2007) Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt

Helfe beim Thema Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe die seltsame Situation, dass bei zwei verschiedenen Datenbeständen -ich nenne sie mal DB-A und DB-B- beim Öffnen eines Formulars im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von jcl, 22. Oktober 2010.

  1. Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt


    Hallo,

    ich habe die seltsame Situation, dass bei zwei verschiedenen Datenbeständen -ich nenne sie mal DB-A und DB-B- beim Öffnen eines Formulars im einen Fall (DB-A) die Ereignisse LOAD und CURRENT ausgeführt werden, im anderen Fall (DB-B) aber nur das LOAD-Ereignis ausgeführt wird, CURRENT tritt hier gar nicht ein, was dann im weiteren zu einem Laufzeitfehler führt. Der Code ist folgender:

    Code:
    Der Datensatz ist in beiden Fällen in der Tabelle vorhanden.

    Hat jemand eine Idee, warum das Current-Ereignis nicht eintritt?

    Gruß, Johannes.

    :)
     
  2. Trage doch mal unter
    Code:
    gleich am Anfang des betroffenen Formulares den Befehl
    Code:
    ein.
    Frage: zu welchem Ereignis in welchem Form gehört der von Dir gepostete Code? Was soll die Zeile mit Set BU bewirken? (Der Code-Schnipsel taugt nicht zur Hilfestellung.)
     
  3. Ist der Code in beiden Formularen absolut identisch? Prüfe auch mal die Datensatzherkunft (wird die über die Formular-Eigenschaften gesetzt oder per Code?) ob es da Unterschiede gibt.

    Gruß

    Rainer
     
    raist10, 24. Oktober 2010
    #3
  4. Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt

    Der Code ist identisch, weil gleiche Access Datei. Bei der Datenbank handelt es sich um eine SQL Server Datenbank. Das mit der Datensatzherkunft werde ich noch mal checken.

    Das Problem tritt in der Codezeile DoCmd.OpenForm auf (mit Debugger getestet). Bei der DB-A durchlaufe ich zuerst Private Sub Form_Load() und danach sofort Private Sub Form_Current(). Bei der DB-B komme ich gar nicht in Private Sub Form_Current(). Insofern bringt hier auch ein Stop nichts.

    Johannes.
     
  5. Wurde der Code beim fehlerhaften Formulare nur reinkopiert (dann sind die Prozeduren erfahrungsgemäß noch nicht aktiviert), oder über Eigenschaften dem Ereignis zugewiesen (so sollte man es immer machen)?
     
    Arne Dieckmann, 24. Oktober 2010
    #5
  6. Load="beim Laden"; Current="beim Anzeigen"
    Das Load-Ereignis tritt VOR dem Current auf.
    Bei der DB-B kommst Du nicht in das Load-Ereignis??? Dann wird auch kein Formular geöffnet! Stop sollte auch ins Current, nicht ins Load...
     
  7. Das habe ich in meiner Antwort falsch geschrieben. Es muss natürlich "Bei der DB-B komme ich gar nicht in Private Sub Form_Current()" heißen - habe es oben korrigiert. Sorry!
     
  8. Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt

    Wie gesagt, es handelt sich um die dieselbe Access-Datei, d.h. der Code ist für beide Datenbanken identisch, und der Code wurde über die Eigenschaften dem Ereignis zugewiesen!
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
  9. Sicherheitshalber könntest du das Ereignis noch einmal neu über "Eigenschaften" zuweisen.

    Da du auf SQL-Server-DBs zugreifst: ist der SELECT-Zugriff auf die Datenherkunft des Problemformulares erlaubt?

    Ansonsten: Unterscheiden sich die MDBs sehr? Falls nur die Verbindungen angepasst werden müssen, sprich die Tabellenverknüpfungen, dann kopiere einfach MDB-A und verwende diese nach Anpassung als MDB-B.
     
    Arne Dieckmann, 24. Oktober 2010
    #9
  10. Dann setz mal einen Haltepunkt oder Stop im Form_Load(), evtl. wird Form nicht oder fehlerhaft geladen, dann kommt es nicht zum Current-Ereignis.
    Siehe auch Arnes Hinweise, check das auch mal ab.
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
  11. Ich habe den Eindruck, dass ich mich nicht verständlich genug ausgedrückt habe. Deshalb hier noch mal der Versuch.
    • Ich starte die Anwendung über die Datei yxz.accdb.
    • Diese Access Anwendung hat über eine ODBC Verbindung Zugriff auf die SQL Server Datenbank xyzDB.
    • Über den SQL Server Manger stelle ich die Version DB-A als xyzDB bereit.
    • Ich führe die Funktion zum Anlegen einer neuen Buchung aus.
    • Die neue Buchung ist in der "Buchungstabelle" gespeichert
    • Bei Ausführung des Befehls 'DoCmd.OpenForm "Buchungen", , , "[Nr] = " & BuchungsNr' (darauf habe ich einen Haltepunkt gesetzt) wird zuerst die Prozedur 'Private Sub Form_Load()' durchlaufen und anschließend die Prozedur 'Private Sub Form_Current()' – das habe ich mit dem Debugger im Einzelschritt-Modus getestet. Dabei tritt auch kein anderer Fehler auf.
    • Das Formular "Buchungen" wird mit der neu angelegten Buchung angezeigt, Basis ist eine Query.
    • Ich beende die Anwendung.
    • Über den SQL Server Manger stelle ich die Version DB-B als xyzDB bereit.
    • Ich starte die Anwendung über die Datei yxz.accdb wieder neu.
    • Ich führe die Funktion zum Anlegen einer neuen Buchung aus.
    • Die neue Buchung ist in der "Buchungstabelle" gespeichert
    • Bei Ausführung des Befehls 'DoCmd.OpenForm "Buchungen", , , "[Nr] = " & BuchungsNr' (darauf habe ich einen Haltepunkt gesetzt) wird jetzt nur die Prozedur 'Private Sub Form_Load()' durchlaufen, und danach wird mit dem Befehl 'Set BU = Forms("Buchungen")' fortgesetzt – das habe ich mit dem Debugger im Einzelschritt-Modus getestet.
    • Das Formular "Buchungen" wird mit der neu angelegten Buchung nicht angezeigt, Basis ist die gleiche Query wie bei DB-A.
    Demnach wird die Form in beiden Situationen fehlerfrei geladen und auch der SELECT-Zugriff ist in beiden Fällen erlaubt.
     
  12. Fehlt wohl der Befehl zum öffnen?
    Set BU = Forms("Buchungen") öffnet doch nichts! Also kann das Load-Ereignis des Forms und das darauf in der Regel folgende Current-Ereignis doch gar nicht stattfinden!
    In meiner ersten Antwort stellte ich bereits die Frage:
    Was soll die Zeile mit Set BU bewirken?
     
  13. Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt

    \@ jcl

    Kill mal das Formular in Datenbank-B und importiere das Formular aus DB-A nach DB-B.

    Funktioniert es danach dann in DB-B?

    Gruß

    Rainer
     
  14. \@Rainer: Das ist ja der Witz: es handelt sich um die selbe (!=gleiche) accdb , allerdings wird im Hintergrund die SQL-Datenbank "umbenannt", sodass bei Neustart der accdb das Problem auftritt.

    @jcl: Sind die SQL-Datenbanken/Tabellen denn strukturell gleich? So wie ich Beitrag #11 verstehe, scheint's ja wirklich nur an der Quelle zu liegen. Hat z.B. das Feld "Nr" in den Buchungstabellen beide Male den selben Datentyp? Besitzt die Buchungstabelle in der problembehafteten SQL-DB noch mehr Felder (z.B. ein Bit- vulgo Ja/Nein-Feld)?
     
    Arne Dieckmann, 24. Oktober 2010
    #14
  15. Nein! Was macht den der Befehl "DoCmd.OpenForm "Buchungen", , , "[Nr] = " & BuchungsNr" anderes, als ein Formular zu öffnen!?
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
Thema:

Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt

Die Seite wird geladen...
  1. Beim Öffnen des Formulars wird CURRENT Ereignis nicht ausgeführt - Similar Threads - Öffnen Formulars CURRENT

  2. Webadresse aus Formular öffnen

    in Microsoft Access Hilfe
    Webadresse aus Formular öffnen: Hallo zusammen, ich bin am verzweifeln. Ich habe in einem Formular ein Feld mit Pfaden zu einer Webadresse mit unterschiedlichen Unterseiten. In meinem Fall ist das https://www.discogs.com...
  3. Formular mit bestimmten Datensatz durch Doppelklick öffnen

    in Microsoft Access Hilfe
    Formular mit bestimmten Datensatz durch Doppelklick öffnen: Hallo zusammen, ich bin ganz neu hier und hoffe ich drücke mich verständlich aus, falls nicht, lasst es mich gerne wissen. Ich möchte eine Datenbank aufbauen, in der ich Personendaten erfassen...
  4. Formular mit Bedingung öffnen aus einem Listenfeld heraus (VBA)

    in Microsoft Access Hilfe
    Formular mit Bedingung öffnen aus einem Listenfeld heraus (VBA): Hallo zusammen, ich möchte aus einem Listenfeld ein Formular mit einer Bedingung öffnen, wenn ich die Enter/Return-Taste drücke. Hinweis: im gleichen Formular ist bereits die Enter-Taste schon...
  5. Formular öffnen und Fokus danach auf ein anderes Formular schieben

    in Microsoft Access Hilfe
    Formular öffnen und Fokus danach auf ein anderes Formular schieben: Hallo, ich habe ein kleines Problem, mit dem ich nicht so recht weiter komme und wo die Experten vielleicht wissen, wie es geht. Und nachdem mir neulich schon geholfen wurde, komme ich nochmal....
  6. Eingebettetes PDF-Formular öffnen, mit Zellwerten einer Excel befüllen und speichern

    in Microsoft Excel Hilfe
    Eingebettetes PDF-Formular öffnen, mit Zellwerten einer Excel befüllen und speichern: Hallo Office-Experten, ich habe ein Problem in VBA, bei welchem ich einfach nicht weiterkomme und auch nach umfangreicher Suche keine Lösung gefunden habe. Folgende Problemstellung liegt vor:...
  7. Ein Formular mehrfach öffnen

    in Microsoft Access Hilfe
    Ein Formular mehrfach öffnen: Hallo alle zusammen, könntet ihr mir bitte helfen? Ich habe ein Suchformular wie im Anhang erstellt. Wenn ich auf den "Weiter-Button" klicke, kann ich jedesmal nur ein Formular (frmKundenkontakt)...
  8. VLC Player in Access Formular öffnen

    in Microsoft Access Hilfe
    VLC Player in Access Formular öffnen: Ich möchte den VLC Player aus einem Access Formular öffnen, bzw. möchte ich bestimmte Titel aus dem Formular mit VLC Player abspielen. Kann mir jemand helfen wie ich dass anstelle?? Danke
  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