Abfrage erst ausführen wenn vorherige Abfrage beendet ist

tombe

Erfahrenes Mitglied
Hallo Forum,

nachdem ich nun monatelang hier nicht mehr aktiv dabei war, komme ich nun mit einer für mich recht komplizierten Aufgabe zurück.

Ich lese aus unserer Warenwirtschaft per ODBC verschiedene Tabellen (Verkaufsrechnung/-gutschrift, Servicerechnung/-gutschrift und Mietrechnung/-gutschrift) in Excel ein. Dazu habe ich mir eine UNION-Abfrage erstellt der ich per VBA auch Parameter mitgeben kann. Mit dieser Abfrage lese ich die "Kopfdaten" (Belegnummer, Belegdatum, Kundennummer/ -name usw.) in eine Excel Tabelle ein.

Jetzt habe ich mit eine zweite Abfrage erstellt mit der ich die "Auftragszeilen" (Artikelnummer, Artikeltext, Menge, Preis usw.) des jeweiligen Auftrages ermitteln möchte.

Dazu durchlaufe ich in einer FOR NEXT-Schleife die Tabelle mit den Kopfdaten und übergebe dann die jeweilige Belegnummer an die Abfrage mit der ich die Zeilen ermittle.

Führe ich den VBA-Code Schrittweise mit F8 aus, dann funktioniert alles so wie es soll. Starte ich ihn aber mit F5, dann bricht der Vorgang mir der Fehlermeldung "Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler" ab.

Ich vermute mal das die Abfragen sich quasi überschneiden!?

Hat jemand eine Idee wie ich das so regeln kann das die nächste Abfrage erst dann ausgeführt wird, wenn die verherige komplett fertig ist?

Vielen Dank Thomas
 
Zeig mal dein Aufruf des ersten Queries.

Dann kannst du auch mal mit sleep() einfach mal genug grosse eine Pause einbauen um zu sehen obs wirklich daran liegt.
 
Zurück