Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Debugger schweigt

Begonnen von zoulhh, Dezember 27, 2016, 07:03:28

⏪ vorheriges - nächstes ⏩

zoulhh

Hi zusammen,

mein Debugger schimpft nicht mehr, wenn ich Fehler mache (und ich mache viele). Ich weiß nicht warum, aber wenn ich z.B. schreibe

me!txtFeld = "Test"

und das Feld "txtFeld" existiert nicht, so habe ich früher eine Fehlermeldung bekommen. Nun wird das komplett ignoriert, was für mich sehr nervig ist.

On error goto 0 habe ich versucht, ändert nichts.

Access 2013. Extras -> Optionen "Automatische Syntaxüberprüfung" usw. ist an.

Danke für Hilfe.

LGM



Lachtaube

Schreib mal Me.txtFeld = "Test" - dann sollte auch ein Meckern bei nicht vorhandenem Steuerelement bzw. Datenfeld bei der Eingabe im Editor erfolgen. Me!txtFeld wird erst zur Laufzeit ausgewertet und ist identisch mit Me("txtFeld") bzw. Me.Controls("txtFeld"). Ein lesenswerter Artikel (allerdings auf Englisch) ist in diesem Zusammenhang auch: The Bang! (Exclamation Operator) in VBA
Grüße von der (⌒▽⌒)

zoulhh

Zitat von: Lachtaube am Dezember 27, 2016, 07:43:50
Schreib mal Me.txtFeld = "Test" - dann sollte auch ein Meckern bei nicht vorhandenem Steuerelement bzw. Datenfeld bei der Eingabe im Editor erfolgen. Me!txtFeld wird erst zur Laufzeit ausgewertet und ist identisch mit Me("txtFeld") bzw. Me.Controls("txtFeld"). Ein lesenswerter Artikel (allerdings auf Englisch) ist in diesem Zusammenhang auch: The Bang! (Exclamation Operator) in VBA

Du hast natürlich recht, aber das Irre ist, das interessiert ihn nicht. Auch mit "" gibt es keinen Fehler und natürlich suche ich mich tot.

LGM

markusxy

Zitat von: zoulhh am Dezember 27, 2016, 07:03:28mein Debugger schimpft nicht mehr, wenn ich Fehler mache (und ich mache viele). Ich weiß nicht warum, aber wenn ich z.B. schreibe

me!txtFeld = "Test"

Meine Compiler schreit da auch nicht, falls dich das beruhigt.
Wenn du aber statt me!txtFeld nur txtFeld schreibst dann sollte er sich bemerkbar machen.

LG Markus

zoulhh

Zitat von: markus888 am Dezember 27, 2016, 08:33:59
Zitat von: zoulhh am Dezember 27, 2016, 07:03:28mein Debugger schimpft nicht mehr, wenn ich Fehler mache (und ich mache viele). Ich weiß nicht warum, aber wenn ich z.B. schreibe

me!txtFeld = "Test"

Meine Compiler schreit da auch nicht, falls dich das beruhigt.
Wenn du aber statt me!txtFeld nur txtFeld schreibst dann sollte er sich bemerkbar machen.

LG Markus

Hi Markus,

danke. Aber nein, es beruhigt mich nicht, weil das nur ein Beispiel war und er neuerdings kaum einen Fehler ausgibt, bzw. die Ausführung unterbricht. Das mit dem txtFeld war nur ein Beispiel. Es ist extrem nervig für die Fehlersuche weil er zwar bestimmte Dinge halt nicht ausführt, aber auch keinen Pieps sagt. So ist die Fehlersuche sehr zeitraubend.

LGM

markusxy

Nur sicherheitshalber nachgefragt "Option Explicit" hast du aber schon gesetzt?
Wenn ja, decompile durchgeführt?

LG M

DF6GL

Hallo,

evtl. hilft auch im VBA-Editor ein Blick auf "Extras/Optionen" .



Joss

Hallo zoulhh,

bei z.B. diesem Code
Private Sub Befehl30_Click()
Me!txtFeld = "Test"
Me!txtFeld = ""
End Sub

bringt Access beim Kompilieren keinen Fehler, weil das nicht existierende Steuerelement erst dann erkannt wird, wenn man auf die Schaltfläche drückt. Da hat er früher auch keinen Fehler gebracht. ;)

Zitatweil er zwar bestimmte Dinge halt nicht ausführt, aber auch keinen Pieps sagt.
Dazu müsstest du ein Beispiel bringen, sonst kann man nichts nachvollziehen.

Gruß
Josef

zoulhh

#8
Zitat von: markus888 am Dezember 27, 2016, 09:19:23
Nur sicherheitshalber nachgefragt "Option Explicit" hast du aber schon gesetzt?
Wenn ja, decompile durchgeführt?

LG M

Ja. Es ist irre. Ich komm einfach nicht drauf, was da los ist. Decompile hat nichts verändert.

Danke.

LGM

zoulhh

Zitat von: DF6GL am Dezember 27, 2016, 09:55:12
Hallo,

evtl. hilft auch im VBA-Editor ein Blick auf "Extras/Optionen" .

Leider nicht. Ich begreife es nicht. Der Debugger verhält sich, also würde überall ein "On error resume next" stehen.

LGM

zoulhh

Zitat von: Joss am Dezember 27, 2016, 12:36:07
Hallo zoulhh,

bei z.B. diesem Code
Private Sub Befehl30_Click()
Me!txtFeld = "Test"
Me!txtFeld = ""
End Sub

bringt Access beim Kompilieren keinen Fehler, weil das nicht existierende Steuerelement erst dann erkannt wird, wenn man auf die Schaltfläche drückt. Da hat er früher auch keinen Fehler gebracht. ;)


Danke Dir. Das sehe ich ein. Aber wenn das z.B. in form_load steht, sollte der Debugger doch meckern, oder?

LGM

Joss

Hallo zoulhh,

ZitatAber wenn das z.B. in form_load steht, sollte der Debugger doch meckern, oder?
Das ist richtig.

Datenbank komprimieren und reparieren hast du vermutlich schon gemacht.
Du kannst jetzt noch eine neue Datenbank anlegen, und alle Objekte aus der alten Datenbank in die neue importieren.
Sonst fällt mir keine Lösung mehr ein.

Gruß
Josef

crystal

Hallo,

noch eine Idee:
schau mal unter Optionen nach "Access-Spezialtasten verwenden". Sollte an sein.

lg
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

zoulhh

Zitat von: crystal am Dezember 27, 2016, 14:30:49
Hallo,

noch eine Idee:
schau mal unter Optionen nach "Access-Spezialtasten verwenden". Sollte an sein.

lg
crystal

Habe Jürgerns Rat befolgt und alles neu importiert. Dann ging es. Dann habe ich unter Optionen "Access Spezialtasten" ausgeschaltet und nun rate mal!

Da war der Haken. Danke Dir vielmals. Kannst Du erklären, was es damit auf sich hat?

LGM

zoulhh

Zitat von: Joss am Dezember 27, 2016, 14:22:02

Datenbank komprimieren und reparieren hast du vermutlich schon gemacht.
Du kannst jetzt noch eine neue Datenbank anlegen, und alle Objekte aus der alten Datenbank in die neue importieren.
Sonst fällt mir keine Lösung mehr ein.

Gruß
Josef

Danke Josef. Es waren die Spezialtasten, siehe unten. Keine Ahnung warum das sich so auswirkt. Aber den Re-Import habe ich auch gemacht. Nun ist alles frisch. :-)

Danke!

LGM