Access 2000 VB Code bleibt plötzlich hängen
Hallo,
ich habe hier eine schwierige Access Anwendung die von meiner Vorhängering programmiert wurde.
Seit Freitag funktioniert es plötzlich nicht mehr.
Wenn ich den VBA Code step by step durch gehe bleibt er immer an Stellen mit "Wend" hängen.
Wenn ich die manuell übergehe ist der Code irgendwann durch und alles hat geklappt wie früher.
Mal einen Ausschnitt aus dem Code sieht man hier:
With CurrentDb.OpenRecordset("Reservierungen")
While Not .EOF
.MoveFirst
.Delete
.MoveNext
Wend
.Close
End With
Was macht dieses "Wend" ?
jemand eine Idee wie es passieren kann das Freitag morgen alles geht und Nachmittags nicht mehr oder wo ich so was nach schauen kann ?
ich habe hier eine schwierige Access Anwendung die von meiner Vorhängering programmiert wurde.
Seit Freitag funktioniert es plötzlich nicht mehr.
Wenn ich den VBA Code step by step durch gehe bleibt er immer an Stellen mit "Wend" hängen.
Wenn ich die manuell übergehe ist der Code irgendwann durch und alles hat geklappt wie früher.
Mal einen Ausschnitt aus dem Code sieht man hier:
With CurrentDb.OpenRecordset("Reservierungen")
While Not .EOF
.MoveFirst
.Delete
.MoveNext
Wend
.Close
End With
Was macht dieses "Wend" ?
jemand eine Idee wie es passieren kann das Freitag morgen alles geht und Nachmittags nicht mehr oder wo ich so was nach schauen kann ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136001
Url: https://administrator.de/contentid/136001
Ausgedruckt am: 05.11.2024 um 17:11 Uhr
13 Kommentare
Neuester Kommentar
Moin lendrod,
Und ich weiß, dass es ordnungsgemäß läuft, wenn du die Zeile "Wend" übergehst.
Der Vollständigkeit halber
Das "Wend" gehört zum "While".... ist also eine Art flapsiges "End While" ("wend" hört sich cooler an und es lässt sich einfacher beim Frühstücken aussprechen als "End While".
Grüße
Biber
Zitat von @lendrod:
Hallo,
ich habe hier eine schwierige Access Anwendung die von meiner Vorhängering programmiert wurde.
WTF ist eine Vorhängering?? Bzw. mag sie es wirklich, wenn du sie so bezeichnest, wenn sie grade den Raum verlassen hat?Hallo,
ich habe hier eine schwierige Access Anwendung die von meiner Vorhängering programmiert wurde.
Seit Freitag funktioniert es plötzlich nicht mehr.
Jepp, genau diese Fehlerbeschreibung bekommt wohl jeder von uns am Montag um die Ohren gehauen.Wenn ich den VBA Code step by step durch gehe bleibt er immer an Stellen mit "Wend" hängen.
Wenn ich die manuell übergehe ist der Code irgendwann durch und alles hat geklappt wie früher.
Okay - jetzt weiß ich, was passiert beim "manuellen Durchsteppen".Wenn ich die manuell übergehe ist der Code irgendwann durch und alles hat geklappt wie früher.
Und ich weiß, dass es ordnungsgemäß läuft, wenn du die Zeile "Wend" übergehst.
Der Vollständigkeit halber
- Springt denn in der Applikation selbst auch plötzlich der VBA-Editor auf oder läuft es da auch "alles wie früher"?
- Du bist sicher, dass nicht nur im Debugger Haltepunkte auf der "Wend"-Zeile gesetzt sind?
- Wenn du schreibst, du "übergehst" die Zeile "Wend", dann heißt das.... F7? F8? F9? oder mit welcher Taste genau?
Das "Wend" gehört zum "While".... ist also eine Art flapsiges "End While" ("wend" hört sich cooler an und es lässt sich einfacher beim Frühstücken aussprechen als "End While".
Grüße
Biber
Hallo lendrod!
Falls der Code tatsächlich am Wend hängen bleibt, dann versuchs mal hiermit:
Gruß Dieter
Falls der Code tatsächlich am Wend hängen bleibt, dann versuchs mal hiermit:
With CurrentDb.OpenRecordset("Reservierungen")
Do Until .EOF
.Delete
.MoveNext
Loop
.Close
End With
Gruß Dieter
Hallo lendrod!
Für's bedanken ist es wohl noch zu früh
Vielleicht geht's, oder auch nicht?
Interessant wäre noch die Beantwortung der bereits von Biber gestellten Fragen:
Gruß Dieter
Für's bedanken ist es wohl noch zu früh
Vielleicht geht's, oder auch nicht?
Interessant wäre noch die Beantwortung der bereits von Biber gestellten Fragen:
Zitat von @Biber:
Der Vollständigkeit halber
Kann auch sein, dass ein erneutes kompilern und speichern den Fehler schon behebt?Der Vollständigkeit halber
- Springt denn in der Applikation selbst auch plötzlich der VBA-Editor auf oder läuft es da auch "alles wie früher"?
- Du bist sicher, dass nicht nur im Debugger Haltepunkte auf der "Wend"-Zeile gesetzt sind?
- Wenn du schreibst, du "übergehst" die Zeile "Wend", dann heißt das.... F7? F8? F9? oder mit welcher Taste genau?
Gruß Dieter
Hallo,
dass das Programm beim erreichen von "Wend" wieder zur "While"-Zeile springt, ist der Sinn und die Funktion von "Wend". Wenn das Programm aus dieser Schleife nicht mehr herauskommt, dann liegt es daran, dass die Bedingung ("Not.EOF") weiterhin erfüllt ist. Wenn das Recordset "Reservierungen" 1000 Items enthält, musst Du die Schleife auch 1000mal durchlaufen.
Wie oft hast Du die Schleife denn durchlaufen, bevor Du gesagt hast, es geht hier nicht mehr weiter?
dass das Programm beim erreichen von "Wend" wieder zur "While"-Zeile springt, ist der Sinn und die Funktion von "Wend". Wenn das Programm aus dieser Schleife nicht mehr herauskommt, dann liegt es daran, dass die Bedingung ("Not.EOF") weiterhin erfüllt ist. Wenn das Recordset "Reservierungen" 1000 Items enthält, musst Du die Schleife auch 1000mal durchlaufen.
Wie oft hast Du die Schleife denn durchlaufen, bevor Du gesagt hast, es geht hier nicht mehr weiter?
Moin lendrod,
ich fürchte, du überforderst uns jetzt ein wenig.
Bis vor kurzer Zeit war die Rede davon, das "Access 2000 VB Code plötzlich hängenbleibt" und irgendwie magisch-magnetisch von einem coolen Szene-Wort namens "Wend" angezogen wird.
Die zwei Zentimeter Codefragment rund um dieses "Wend" eiern über eine Tabelle "Reservierungen", über die auch keine Details bekannt sein müssen, da einfach pauschal alle Datensätze gelöscht werden. Zwar einzeln, Satz für Satz, statt mit einem "DELETE FROM (ohne WHERE)" ...
... ungewöhnlich, aber positiv formuliert ein Indiz für Fleiß, Sorgfalt und Geduld.
Auf dieses daumenbreite Stückchen Code haben nun 100 Leute draufgeschaut, um genau dort vielleicht doch irgendwelche Verdachtsmomente zu finden ... vergeblich.
Jetzt, gefühlte Jahre später, erwähnst du beiläufig, dass eventuell vorhandene User vielleicht eine Option ausgewählt haben könnten, die sich "Dateiabgleich" nennt.
Und dass die APPZ von dort nicht in vertretbarer Zeit zurückkehrt.
Okay, ich kann mir nicht vorstellen, dass deine Vorhänge-Dingens oder wie du sie nennst eine Funktion "Alle Reservierungen plattmachen" euch verkauft hat als "Dateiabgleich".
Da wird vermutlich etwas anderes passieren.
Wenn sich herausstellt, dass eigentlich nur das Löschen oder das Index-Neuanlegen nicht ging, weil vielleicht noch ein paar andere User diese Appz auf dem Monitor brennen haben und grad kein exklusiver Zugriff möglich war...
UND wir diese Informationen erst nach Tagen bekommen...
.. dann bin ich etwas ärgerlich.
Grüße
Biber
ich fürchte, du überforderst uns jetzt ein wenig.
Bis vor kurzer Zeit war die Rede davon, das "Access 2000 VB Code plötzlich hängenbleibt" und irgendwie magisch-magnetisch von einem coolen Szene-Wort namens "Wend" angezogen wird.
Die zwei Zentimeter Codefragment rund um dieses "Wend" eiern über eine Tabelle "Reservierungen", über die auch keine Details bekannt sein müssen, da einfach pauschal alle Datensätze gelöscht werden. Zwar einzeln, Satz für Satz, statt mit einem "DELETE FROM (ohne WHERE)" ...
... ungewöhnlich, aber positiv formuliert ein Indiz für Fleiß, Sorgfalt und Geduld.
Auf dieses daumenbreite Stückchen Code haben nun 100 Leute draufgeschaut, um genau dort vielleicht doch irgendwelche Verdachtsmomente zu finden ... vergeblich.
Jetzt, gefühlte Jahre später, erwähnst du beiläufig, dass eventuell vorhandene User vielleicht eine Option ausgewählt haben könnten, die sich "Dateiabgleich" nennt.
Und dass die APPZ von dort nicht in vertretbarer Zeit zurückkehrt.
Okay, ich kann mir nicht vorstellen, dass deine Vorhänge-Dingens oder wie du sie nennst eine Funktion "Alle Reservierungen plattmachen" euch verkauft hat als "Dateiabgleich".
Da wird vermutlich etwas anderes passieren.
- Was? Und mit wem? Lokal, global, Abgleich mit den Outlook-Kalendern von 3000 Usern oder zwei Oracle-Datenbanken in Taiwan oder wer gleicht wen ab?
- Von wieviel "Datenvolumen" reden wir denn, wenn dieses "Dateiabgleichen" schon 30 Sekunden unter normalen Bedingungen braucht?
- Hängt dieses Access im Netz für 55 User, die alle "Admin" heißen? Oder ist es eine in Frontend- und Daten-MDB geteilte Appz?
Wenn sich herausstellt, dass eigentlich nur das Löschen oder das Index-Neuanlegen nicht ging, weil vielleicht noch ein paar andere User diese Appz auf dem Monitor brennen haben und grad kein exklusiver Zugriff möglich war...
UND wir diese Informationen erst nach Tagen bekommen...
.. dann bin ich etwas ärgerlich.
Grüße
Biber
Moin lendrod,
Anyway -es uns hätte Schlimmeres widerfahren können an einem Montachmorgen...
Grüße
Biber
Zitat von @lendrod:
Fragt mich nicht warum, aber seit Samstag scheint es wieder zu funktionieren ohne das ich irgendetwas geändert habe.
War eventuell am Freitag eine blaubekittelte Reinigungsfachkraft da und hat die Brötchenkrümel aus deiner Tastatur abgesaugt?Fragt mich nicht warum, aber seit Samstag scheint es wieder zu funktionieren ohne das ich irgendetwas geändert habe.
Anyway -es uns hätte Schlimmeres widerfahren können an einem Montachmorgen...
Grüße
Biber
Hallo lendrod!
So ein Glück! Der nächste Freitag den 13. ist erst am 13.August
Gruß Dieter
So ein Glück! Der nächste Freitag den 13. ist erst am 13.August
Gruß Dieter