Neuigkeiten:

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

Mobiles Hauptmenü

Fehlerbehandlung bei On Timer

Begonnen von MrMojoRisin, Juni 27, 2017, 13:31:40

⏪ vorheriges - nächstes ⏩

MrMojoRisin

Hallo,
anderes Problem. Wenn ich das Ereignis bei Zeitgeber verwende, kommt ab und an mal die Meldung, dass Access aufgrund eines Laufzeitfehlers beendet wurde. Die Anwendung sollte aber stabil laufen. Kann ich da eine Fehlerbehandlung implementieren, so dass, wenn der Fehler auftritt, der Fehler ignoriert wird und keine Meldung kommt und ich einfach alle Charts neu lade oder so ähnlich. Den genauen Ablauf hab ich mir noch nicht ausgedacht.

Lasse einen Timer laufen, der in 30 Sekunden Abständen eine .Requery auf die Formulare absetzt.

Danke euch schon mal

markusxy

Die Frage ist doch wo der Fehler herkommt. Der Zeitgeber wird wohl keinen Fehler verursachen, höchstens der Code der danach folgt. Du musst vorrangig den Fehler herausfinden, dann kannst du entsprechend agieren.

Ein Fehlerbehandlung sollte immer vorhanden sein. Möglicherweise benötigst du eine Protokollierung um den Verursacher herauszufinden.

MrMojoRisin

Sry, warst zu schnell. Habe es oben ergänzt. Also der Code dahinter ist ja recht simpel, deswegen frag ich ja so blöd.

Je nur ein Requery pro Formular. Insgesamt 5 Stück.

DF6GL

Hallo,

die Frage stellt sich, wozu überhupt ein permanentes Requery erforderlich ist.

MrMojoRisin

Weil die Daten im 20 Sekunden Takt in die SQL Datenbank fließen und die quasi in Echtzeit überwacht und dargestellt werden sollen.  ;D

DF6GL

Hallo,

naja...  ::)


Ist in JEDEM Modulkopf "Option Explicit" vorhanden?
Ist die DB im VBA-Editor kompiliert?

Ist der Timer in einem separaten Form aktiv oder in jedem Form für sich?


MrMojoRisin

Option Explicit ist überall drin.
Kompiliert ohne Fehler. Läuft ja auch ne gewisse Zeit.

Im Moment in jeder Form für sich, da ich sie ja nacheinander entwickelt und getestet habe. Aber das habe ich schon vor, dass es zentral gesteuert wird. Bin noch nicht dazu gekommen, das umzuschreiben.

DF6GL

Hallo,

nun, dann schreib das mal um, so dass nur ein Timer-Event verwendet wird.

Lachtaube

Solche Absturzursachen sind schwierig bis oft gar nicht zu finden. Ein Schluckauf im Netzwerk kann schon zu Access-Abstürzen führen. Ich würde zumindest versuchen, die Datenmenge für ein Requery auf ein Mindestmaß zu beschränken, so dass man die letzten 10, 50 oder 100 Datensätze zieht - nicht aber die komplette Historie. Und dann könnte man sich auch auf den Zeitgeber des aktiven Formulars beschränken, in der Annahme, dass die restlichen Formulare nicht gleichzeitig zu sehen sind. Und ggf. wird das Laufzeitverhalten auch stabiler, wenn Passthrough-Abfragen zur Verwendung kommen.
Grüße von der (⌒▽⌒)