Hallo Community,
bräuchte mal einen Denkanstoß oder Tip.
Ausgangssituation:
In einer Form gibt der User seine Suchkriterien ein und startet eine Datenbanksuche per Button.
In meinem Modul ist dann die Sub die diese Datenbankabfrage ausführt und die Ergebnisse in einen ListView in der User-Form ablegt. Von da kann der User dann was auswählen und bearbeiten ....
Bis hierhin funzt alles prima.
Problem:
Die Userform friert während der DB-Suche (weit mehr als 300tsnd Datensätze) ein. Dies leuchtet mir auch ein.
Da manche User (darunter ich auch) sehr ungehalten reagieren wenn ein Programm einfach was macht und für 30 Sekunden "tot" ist, möchte ich während der DB-Abfrage dem User irgendwie mitteilen was gemacht wird.
Eine ProgressBar z.B. hab ich schon ausprobiert, da ich aber im Vorfeld nicht weiß wieviele Daten selektiert werden, kann ich mit der ProgressBar.Value nicht wirklich arbeiten (im ersten Versuch bin ich übers Ziel hinausgeschossen = Indexverletzung ).
Ich habe gelesen dass man solche Aufgaben in Threads packt. Allerdings habe ich damit noch nie gearbeitet und meine Versuche sind kläglich gescheitert:
Meine DB-Sub erwartet Parameter. Wenn ich diese als Thread starten will geht das nicht weil ich in bei AdressOf(namederdbsub) keine Argumente übergeben kann. Auch eine Schweinehund-Sub die lediglich die DB-Sub mit Parametern startet ( Verzweiflung pur) geht nicht.
Kann mir jemand einen Stupser geben?