Hallo ihr Lieben,
ich habe mal wieder ein Problem:
Ich habe ein DataGrid, welches mit einer SQL-Abfrage gefüllt wurde. Die Tabelle zeigt eine Reihe von Daten mit enthaltenem Daum über mehrere Jahre. Nun soll der Anwender aus einem Listenfeld eines der verfügbaren Jahre auswählen können, so daß im DataGrid nur entsprechende Datensätze angezeigt werden.
Der Quellcode für die Auswahl des gewünschten Jahres lautet:
Private Sub List1_Click()
Dim varSelJahr As String
'selectierten Zeitraum-Option einlesen
varSelJahr = List1.Text
Autokosten.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & gDateiPfad & ";Persist Security Info=False"
SQLString = "SELECT Name AS Fahrzeug, Datum, Empfänger, km, Liter, Einzelpreis,_
Gesamtpreis, Memo, Kostenart, Jahr FROM Buchen WHERE (Name = '" & gFahrzeugName & "')_
AND (Jahr = '" & varSelJahr & "') ORDER BY Datum"
Autokosten.RecordSource = SQLString
Set DataGrid1.DataSource = Autokosten
DataGrid1.Refresh
End Sub
Die Variablen gDateiPfad und gFahrzeugName wurden in der SubMain global deklariert. Bei Autokosten handelt es sich um ein ADO-Datensteuerelement. Der SQL-String als solches funktioniert. Trotzdem bekomme ich mit desem Code das DataGrid jedoch nicht überredet, die neue Auswahl an Datensätzen anzuzeigen. Es beharrt leider auf der SQL-Abfrage, die beim Laden der Form ausgeführt wurde, so daß sich an der Anzeige überhaupt nichts ändert.
Habe ich da einen grundsätzlichen Denkfehler, wenn ich mit der Methode DataGrid1.Refresh das DataGrid mit der neu zugeordneten Abfrage aktualisieren möchte?
ich habe mal wieder ein Problem:
Ich habe ein DataGrid, welches mit einer SQL-Abfrage gefüllt wurde. Die Tabelle zeigt eine Reihe von Daten mit enthaltenem Daum über mehrere Jahre. Nun soll der Anwender aus einem Listenfeld eines der verfügbaren Jahre auswählen können, so daß im DataGrid nur entsprechende Datensätze angezeigt werden.
Der Quellcode für die Auswahl des gewünschten Jahres lautet:
Private Sub List1_Click()
Dim varSelJahr As String
'selectierten Zeitraum-Option einlesen
varSelJahr = List1.Text
Autokosten.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & gDateiPfad & ";Persist Security Info=False"
SQLString = "SELECT Name AS Fahrzeug, Datum, Empfänger, km, Liter, Einzelpreis,_
Gesamtpreis, Memo, Kostenart, Jahr FROM Buchen WHERE (Name = '" & gFahrzeugName & "')_
AND (Jahr = '" & varSelJahr & "') ORDER BY Datum"
Autokosten.RecordSource = SQLString
Set DataGrid1.DataSource = Autokosten
DataGrid1.Refresh
End Sub
Die Variablen gDateiPfad und gFahrzeugName wurden in der SubMain global deklariert. Bei Autokosten handelt es sich um ein ADO-Datensteuerelement. Der SQL-String als solches funktioniert. Trotzdem bekomme ich mit desem Code das DataGrid jedoch nicht überredet, die neue Auswahl an Datensätzen anzuzeigen. Es beharrt leider auf der SQL-Abfrage, die beim Laden der Form ausgeführt wurde, so daß sich an der Anzeige überhaupt nichts ändert.
Habe ich da einen grundsätzlichen Denkfehler, wenn ich mit der Methode DataGrid1.Refresh das DataGrid mit der neu zugeordneten Abfrage aktualisieren möchte?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „martinB“ ()