Hallo Freunde des Programmierens :),
Ich bin von VBA auf VB.Net umgestiegen und habe jetzt ein Problem bei der Argumentübermittlung beim Aufruf einer Sub, die in einem andern Modul steht und die eine ListBox in einer Form befüllen soll.
Im Detail: ich habe in meiner frm_Main mehrere Listboxen, die alle nach dem gleichen Schema, jedoch mit unterschiedlichen Werten mittels DB-Abfrage, befüllt werden sollen. Dazu rufe ich eine Sub "QueryToMultiColumnList", die im Modul "DatabaseToForm" steht, auf und übergebe an diese die Argumente um welche DB-Abfrage es sich handelt(als String), um welche ListBox es sich handelt(Name der ListBox) und optional das Jahr(als String).
Der funktionierende Aufruf in VBA sieht beispielsweise so bei mir aus: DatabaseToForm.QueryToMultiColumnList "SucheVerfahrenEinesJahres", frm_main.verfahrenListe, zweiStellenJahr
Oder anderes Beispiel: DatabaseToForm.QueryToMultiColumnList "SucheAbgabenEinesJahres", frm_main.verfahrenListe, zweiStellenJahr
Die aufgerufene Sub sieht in VBA so aus: Sub QueryToMultiColumnList(ByVal QueryName As String, ByRef MultiColumnList As MSForms.Control, Optional ByVal Parameter As String)
Wie gesagt: es funktioniert alles einwandfrei. Die Strings steuern die jeweilige DB-Abfrage und das Abfrageergebnis wird fehlerfrei in die einzelnen ListBoxen geschrieben.
Nun habe ich versucht das in VB.Net nachzubilden.
Dort sieht der Aufruf der Sub aus der frm_Main so aus:
Die aufgerufene Sub im Modul DatabaseToForm sieht so aus:
So weit, so gut. Auf den ersten Blick funktioniert auch alles und Visual Studio 2019 wirf keinen Fehler. Beim Debuggen(Einzelschritt) fällt jedoch auf, das der Pointer auf die Listbox nicht funktioniert und deswegen die Listbox nicht befüllt wird. Die Datenbankabfrage funktioniert und bringt ein Ergebnis, welches ich mittels Do While-Schleife und MultiColumnList.Items.Add(recSet.Item(0)) in die ListBox bringen wollte.
Weiß von euch jemand, warum der Pointer auf die ListBox nicht funktoniert?
VG
Ich bin von VBA auf VB.Net umgestiegen und habe jetzt ein Problem bei der Argumentübermittlung beim Aufruf einer Sub, die in einem andern Modul steht und die eine ListBox in einer Form befüllen soll.
Im Detail: ich habe in meiner frm_Main mehrere Listboxen, die alle nach dem gleichen Schema, jedoch mit unterschiedlichen Werten mittels DB-Abfrage, befüllt werden sollen. Dazu rufe ich eine Sub "QueryToMultiColumnList", die im Modul "DatabaseToForm" steht, auf und übergebe an diese die Argumente um welche DB-Abfrage es sich handelt(als String), um welche ListBox es sich handelt(Name der ListBox) und optional das Jahr(als String).
Der funktionierende Aufruf in VBA sieht beispielsweise so bei mir aus: DatabaseToForm.QueryToMultiColumnList "SucheVerfahrenEinesJahres", frm_main.verfahrenListe, zweiStellenJahr
Oder anderes Beispiel: DatabaseToForm.QueryToMultiColumnList "SucheAbgabenEinesJahres", frm_main.verfahrenListe, zweiStellenJahr
Die aufgerufene Sub sieht in VBA so aus: Sub QueryToMultiColumnList(ByVal QueryName As String, ByRef MultiColumnList As MSForms.Control, Optional ByVal Parameter As String)
Wie gesagt: es funktioniert alles einwandfrei. Die Strings steuern die jeweilige DB-Abfrage und das Abfrageergebnis wird fehlerfrei in die einzelnen ListBoxen geschrieben.
Nun habe ich versucht das in VB.Net nachzubilden.
Dort sieht der Aufruf der Sub aus der frm_Main so aus:
Die aufgerufene Sub im Modul DatabaseToForm sieht so aus:
So weit, so gut. Auf den ersten Blick funktioniert auch alles und Visual Studio 2019 wirf keinen Fehler. Beim Debuggen(Einzelschritt) fällt jedoch auf, das der Pointer auf die Listbox nicht funktioniert und deswegen die Listbox nicht befüllt wird. Die Datenbankabfrage funktioniert und bringt ein Ergebnis, welches ich mittels Do While-Schleife und MultiColumnList.Items.Add(recSet.Item(0)) in die ListBox bringen wollte.
Weiß von euch jemand, warum der Pointer auf die ListBox nicht funktoniert?
VG