Seid gegrüsst,
Ein Kombifeld, dass Daten aus einer Abfrage zum Filtern bereitstellt, soll um einen weiteren Eintrag (z.B. "alles Anzeigen") erweitert werden. Versuche mit Union- Abfrage sind gescheitert. Die Syntax aus der Hilfe bzw. dem Handbucg, waren leider nicht hilfreich. Vielleicht könnt Ihr mir weiterhelfen.
Das ist die Abfrage, mit der ich mir die Monate zum Filtern hole....
SELECT Format([Minvondatumunduhrzeit],"mmm yyyy") AS Monat
FROM Auswertung_berechnung_std
GROUP BY Format([Minvondatumunduhrzeit],"mmm yyyy")
ORDER BY First(Auswertung_berechnung_std.Minvondatumunduhrzeit);
ich möchte jetzt gern einen weiteren Eintrag generieren, der über eine Iff Klausel im Modul den Filter zurücksetzt.
vielen Dank für Eure Mühe
Hallo,
um die Kombiliste mit deinen Werten zu füllen und an der ersten Stelle '--Alles anzeigen--' anzuzeigen KANNST du untenstehende Prozedur verwenden.
Eventuelle Namensunterschiede bitte anpassen.
Private Sub fuellen()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strListe As String
Dim strSQL As String
Set db = CurrentDb
strSQL = "SELECT Format([Minvondatumunduhrzeit],'mmm yyyy') AS Monat " & _
"FROM Auswertung_berechnung_std " & _
"GROUP BY Format([Minvondatumunduhrzeit],'mmm yyyy') " & _
"ORDER BY First(Auswertung_berechnung_std.Minvondatumunduhrzeit);"
Set rst = db.OpenRecordset(strSQL)
rst.MoveFirst
'Ersten Eintrag erstellen
strListe = "--Alles anzeigen--" & ";"
'Liste füllen
Do While Not rst.EOF
strListe = strListe & rst!Monat & ";"
rst.MoveNext
Loop
'Liste dem Kombi zuweisen
With Me!DeinKombifeld
.ColumnCount = "1"
.ColumnWidths = "3cm"
.RowSourceType = "Value List"
.RowSource = strListe
End With
Set rst = Nothing
Set db = Nothing
End Sub
Grüße
Peter
Hallo,
man kann auch einfach in der Datensatzherkunft des Kombifeldes mit UNION eine Zeile zufügen!:
SELECT Format([Minvondatumunduhrzeit],"mmm yyyy") AS Monat, First(Auswertung_berechnung_std.Minvondatumunduhrzeit) AS ErsterWertvonMinvondatumunduhrzeit
FROM Auswertung_berechnung_std
GROUP BY Format([Minvondatumunduhrzeit],"mmm yyyy")
ORDER BY First(Auswertung_berechnung_std.Minvondatumunduhrzeit)
UNION select "alles", 0 from Auswertung_berechnung_std
Gruß Oma
Hallo zusammen,
Zitatman kann auch einfach in der Datensatzherkunft des Kombifeldes mit UNION eine Zeile zufügen!:
ist ja mit auch ein Grund, warum ich in meiner Antwort KANN groß schreibe. ;D
Stellt nur eine Variante dar die verwendbar ist.
Hallo,
jo, gibt eben oft verschiedene Möglichkeiten, wollen mal hoffen das der Joker eine nutzen kann ;D
Gruß Oma
Super,
vielen Dank für Eure Tipps. Bin gerade dabei mir die Prozedur anzuschauen und zu verstehen. Da ist einiges Neues, für mich, dabei. Sehr interessant. Verwenden werde ich die Variante mit der Union- Abfrage. Das wollte ich ja auch ürsprünglich so machen. Schön, das ich jetzt eine verständliche Syntax habe.
Danke noch mal für Eure Mühe
Andreas