Code "nebenbei" ausführen

08/05/2008 - 14:48 von Michael Alexander | Report spam
Hallo NG!

Ich habe folgendes Problem.

Bei einem Reservierungsformular werden nach Eingabe des Kunden in einem
ungebundenen Kombifeld 3 Prüfungen nach gewissen Kriterien durchgeführt,
d.h. ob der Kunde offene Zahlungen hat, ob er No-Show war, wie oft er schon
storniert hat.

Das ganze làuft im Private Sub txtKunde_AfterUpdate ab:
...
Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM Zhlgnichtbezahltalt WHERE
Kunde ='" & Me.txtKunde & "';", dbOpenSnapshot)
Set rs3 = CurrentDb.OpenRecordset("SELECT * FROM KdeNichtgekommenalt WHERE
Kunde ='" & Me.txtKunde & "';", dbOpenSnapshot)
Set rs4 = CurrentDb.OpenRecordset("SELECT * FROM KdeStorniertalt WHERE Kunde
='" & Me.txtKunde & "';", dbOpenSnapshot)


und bringt ggf. Messages für den User.

Nun "làhmen" aber diese drei Abfragen die weitere Eingabe in das
Reservierungsformular (Eingabe Reservierungsdatum, Resergvierungsart, etc.),
d.h. die weitere Eingabe ist bis nach Ausführung der drei Abfragen nicht
möglich, wiewohl diese Prüfung bzw. die Ergebnisse noch vor dem Abschluß der
Reservierung (Button "Eintragen") erfolgt sein muß.

Wie kann ich daher die weitere Eingabe ermöglichen und die Abfragen quasi
"nebenbei" ausführen lassen?

Danke
Michael

A2k, SP3
 

Lesen sie die antworten

#1 Karl Donaubauer
08/05/2008 - 15:04 | Warnen spam
Michael Alexander wrote:
Bei einem Reservierungsformular werden nach Eingabe des Kunden in
einem ungebundenen Kombifeld 3 Prüfungen nach gewissen Kriterien
durchgeführt, d.h. ob der Kunde offene Zahlungen hat, ob er No-Show
war, wie oft er schon storniert hat.

Das ganze làuft im Private Sub txtKunde_AfterUpdate ab:
...
Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM Zhlgnichtbezahltalt
WHERE Kunde ='" & Me.txtKunde & "';", dbOpenSnapshot)
Set rs3 = CurrentDb.OpenRecordset("SELECT * FROM KdeNichtgekommenalt
WHERE Kunde ='" & Me.txtKunde & "';", dbOpenSnapshot)
Set rs4 = CurrentDb.OpenRecordset("SELECT * FROM KdeStorniertalt
WHERE Kunde ='" & Me.txtKunde & "';", dbOpenSnapshot)

und bringt ggf. Messages für den User.

Nun "làhmen" aber diese drei Abfragen die weitere Eingabe in das
Reservierungsformular (Eingabe Reservierungsdatum, Resergvierungsart,
etc.), d.h. die weitere Eingabe ist bis nach Ausführung der drei
Abfragen nicht möglich, wiewohl diese Prüfung bzw. die Ergebnisse
noch vor dem Abschluß der Reservierung (Button "Eintragen") erfolgt
sein muß.
Wie kann ich daher die weitere Eingabe ermöglichen und die Abfragen
quasi "nebenbei" ausführen lassen?



Dürfte schwierig werden.

Anderer Ansatz:
Warum dauern denn die Prüfungen so lange?
Liegt es an den Abfragen, die du in den RS ansprichst oder
bleibt die Zeit im folgenden Code liegen?

Je nachdem zeige mal die SQL-Texte der Abfragen oder den
weiteren Code.
Schon die 3malige Referenzierung von CurrentDb macht einen
stutzig, ob da alles optimiert ist.

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
+ Entwickler-Konferenzen für Access (AEK) und SQL Server (SEK)

Ähnliche fragen