Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: SG05 am Mai 28, 2010, 18:29:57

Titel: Fehlermeldung
Beitrag von: SG05 am Mai 28, 2010, 18:29:57
Hallo Zusammen,

bekomme zeitweise folgende Meldung:

Dieser Fehler tritt auf, wenn ein Ereignis nicht ausgeführt werden konnte, weil der Speicherort der Logik für das Ereignis von Microsoft Office Access nicht ausgewertet werden kann. Falls z. B. die OnOpen-Eigenschaft eines Formulars auf =[Field] festgelegt ist, tritt dieser Fehler auf, weil Access die Ausführung eines Makros oder Ereignisnamens erwartet, wenn das Ereignis ausgelöst wird.

Wo liegt hier mein Fehler, da diese Meldung nicht immer und ohne Logik ( für mich ) auftritt.

Danke für Eure Unterstützung

Titel: Re: Fehlermeldung
Beitrag von: DF6GL am Mai 28, 2010, 19:45:50
Hallo,


Glaskugel anstarrend kommt mir spontan die Idee, dass in einer Ereignis-Eigenschaft weder ein Makroname noch der Aufruf einer Funktion noch der Name "[Ereignisprozedur]" drinsteht.

btw:  bitte Situation (Welche Access-Version, Wo tritt der Fehler auf, evtl. dazugehörender Code) besser beschreiben..
Titel: Re: Fehlermeldung
Beitrag von: SG05 am Mai 28, 2010, 21:03:18
Sorry für die "schlechte" Beschreibung...

Version ist Access 2007 die DB wird aber unter 2000 gehändelt.

Befehl wird über Klicken im Formular ( z.B. Schließen, aber auch öffnen eines Formular's ) ausgelöst.

Diese Meldung habe ich dann bei jedem Button z.B.

Private Sub S_Ende_DblClick(Cancel As Integer)
On Error GoTo Err_S_Ende_Click

    DoCmd.Quit

Exit_S_Ende_Click:
    Exit Sub

Err_S_Ende_Click:
    MsgBox Err.Description
    Resume Exit_S_Ende_Click

End Sub

Hilft das weiter?



Titel: Re: Fehlermeldung
Beitrag von: DF6GL am Mai 28, 2010, 21:26:17
Hallo,


welche Art Steuerelement  ist "S_Ende" ?  (vermutlich Button/Schaltfläche, nehme ich aus dem Kontext geschlossen an...)

"Befehl wird über Klicken im Formular ( z.B. Schließen, aber auch öffnen eines Formular's ) ausgelöst."


Wird der "Befehl" (soll heißen, die Ereignisprozedur/der Code) auch tatsächlich beim aufgerufen/ausgeführt?  --> Haltepunkt an eine Zeile im Code setzen und Ablauf prüfen.


Warum wird, falls es sich tatsächlich um eine Schaltfläche handelt, das Doppel-Klick-Ereignis benutzt?



Knackpunktfrage:

WAS genau steht dabei in der Eigenschaft "Beim Doppelklicken"  des Buttons "S_Ende"  (Eigenschaftenfenster/Ereignisse/Beim Doppenklicken") drin?
Titel: Re: Fehlermeldung
Beitrag von: SG05 am Mai 28, 2010, 21:34:40
Schaltfläche ist richtig

Doppelklick nur weil ein einfaches Klicken die DB schließen würde.

Aber die DB reagiert dann auch nicht auf "Beim Klicken".

Knackpunktfrage:

WAS genau steht dabei in der Eigenschaft "Beim Doppelklicken"  des Buttons "S_Ende"  (Eigenschaftenfenster/Ereignisse/Beim Doppenklicken") drin?

Eintrag: [Ereignisprozedur] ( kein Makro )

Private Sub S_Ende_DblClick(Cancel As Integer)
On Error GoTo Err_S_Ende_Click

    DoCmd.Quit

Exit_S_Ende_Click:
    Exit Sub

Err_S_Ende_Click:
    MsgBox Err.Description
    Resume Exit_S_Ende_Click

End Sub




Titel: Re: Fehlermeldung
Beitrag von: DF6GL am Mai 28, 2010, 21:58:51
Hallo,


mhmm, ich versteh noch nicht ganz...


Wird sowohl das Klick-Ereignis als auch das Doppelklick-Ereignis derselben Schaltfläche verwendet?


Wenn so, was passiert denn beim einfachen Klick  (bzw. soll passieren ---> Code)  ?

Was steht in der Eigenschaft "Beim Klicken" ?




Wenn beide Ereignisse eine Ereignisprozedur ausführen (sollen) , kann das Doppelklick-Ereignis nicht eintreten.
Titel: Re: Fehlermeldung
Beitrag von: SG05 am Mai 28, 2010, 22:14:11
Nein, habe mich nicht richtig ausgedrückt.

Habe im Formular mehrere Schaltflächen.....

Nie "Beim Klicken" und "Doppelklick" zusammen auf eine Schaltfläche ( Ist das Hauptformular ).

Diese Fehlermeldung kommt bei jedem Klick auf eine Schaltfläche. Als ob das gesamte Formular
die Befehle verweigert.
Titel: Re: Fehlermeldung
Beitrag von: DF6GL am Mai 28, 2010, 23:13:17
Hallo,


naja, ich vermute jetzt mal ein zerschossenes Formular, oder sogar die ganze DB..


Erstell eine neue leere Db und importiere dort alles(!) aus der alten.


Titel: Re: Fehlermeldung
Beitrag von: padang am Mai 29, 2010, 21:31:23
Hallo,
ich habe das gleiche Problem, leider aber auch keine Lösung. Kurze Schilderung: mit der Version 2003 habe ich eine Db mit mehreren Makros erstellt. Als alles funktionierte, habe ich die Makros in VBA-Code umgewandelt. Die ganze Db inkl. aller Buttons, die ich mit entsprechenden Funktionen ausgestattet habe, funktionieren einwandfrei. Dann habe ich die Db in Access 2007 geladen und nach 2007 konvertiert. Ergebnis: Fehlermeldungen bei allen angeklickten Buttons (siehe dazu beigefügte Dateien). Ein Import aller Dateien aus der Version 2003 hat auch nicht geholfen. Ergänzung: nachdem ich Access 2007 verlassen habe, habe ich die vorher in Access 2003 funktionierende Datei (war in anderem Verzeichnis gespeichert) geöffnet und bekomme nun ähnliche Fehlermeldungen in der Version 2003. Ich habe dann Acc 2003 mittels Installations-DVD repariert - und danach funktionierte die 2003-Version wieder. Fazit: es scheint ein 2007-Problem im Zusammenhang mit dem Konvertieren zu bestehen. Oder fehlen evtl. erforderliche Verweise?

[Anhang gelöscht durch Administrator]
Titel: Re: Fehlermeldung
Beitrag von: DF6GL am Mai 29, 2010, 22:18:50
Hallo,


Dein Problem ist, dass nach der Konvertierung eines Makros in eine Ereignisprozedur in der entspr. Ereignis-Eigenschaft NICHT (mehr) "= [Makroname]", sondern "[Ereignisprozedur]" zu stehen hat.


Wenn das Makro in eine (normale) VBA-Funktion gewandelt wurde, muß es allenfalls so heißen:

= Spielplan_Vorrunde()