shad0w Geschrieben 7. Februar 2005 Teilen Geschrieben 7. Februar 2005 Hi, ich muss einen bericht aufsetzen, der von einer abfrage die daten holt. Leider muessen zig verschiedene Daten gefiltert/sortiert werden, je nachdem, welchen button der benutzer auf dem formular klickt. Ich hab mir ueberlegt, mir meine sql satements/ die abfrage in vba selbst zusammen zu bauen ... kann ich diese statements dann in einer abfrage speichern, die der bericht dann aufruft? danke schonmal. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 7. Februar 2005 Teilen Geschrieben 7. Februar 2005 kann ich diese statements dann in einer abfrage speichern, die der bericht dann aufruft? Jein... Die komplette Abfrage nicht, aber du kannst per VBA Filtern. Du gibst im Bericht selber ganz normal deine Abfrage unter Datenherkunft ein, läßt aber das WHERE-Kriterium weg, so das alle Daten angezeigt werden. Den Report rufst du dann so auf: DoCmd.OpenReport "Reportname", acViewPreview, , "[Anzahl]=5" Hinter den 2 Kommas ist der Filter. In dem Fall würde er den Report öffnen und alle Datensätze anzeigen bei denen Anzahl=5 ist. Du kannst im Filter auch wie bei einer normalen Abfrage mit and, or usw arbeiten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 7. Februar 2005 Autor Teilen Geschrieben 7. Februar 2005 dankeschoen ... werd ich gleich morgen mal noch ausprobieren ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 9. Februar 2005 Autor Teilen Geschrieben 9. Februar 2005 hmm ... tut nicht. Bekomm immer ne meldung: Datentypen in Kriterienausdruck unvertraeglich. hab das so versucht: DoCmd.OpenReport stDocName, acPreview, , "[Abteilung]=" & bereich_id & "+[Anstellungsart]=" & anstellungsart_id da ich die werte aus dem formular brauch. Werte ansich stimmen, hab ich mir ausgeben lassen ... aber access scheint damit net zurecht zu kommen ... danke schonmal fuer jede hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 Sind die Felder Strings? Dann fehlen die Hochkommas DoCmd.OpenReport stDocName, acPreview, , "[Abteilung]='" & bereich_id & "'+[Anstellungsart]='" & anstellungsart_id & "'" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 10. Februar 2005 Autor Teilen Geschrieben 10. Februar 2005 perfekt. aber wie ueblich gibt es jetzt noch ein problem ... ueber die auswahlfelder bekomm ich eine id, im bericht verwende ich die texte ... hab schon alles probiert, bereich_id.Value, .Text etc.pp. aber ich komm nicht an den ausgewaehlten text ran. ne idee?? danke vielmals Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 aber wie ueblich gibt es jetzt noch ein problem ... ueber die auswahlfelder bekomm ich eine id, im bericht verwende ich die texte ... Ich bin mir nicht 100% sicher, meine aber das du einfach die ID mit in die Abfrage des Reports nehmen kannst ohne die auszugeben und trotzdem danach filtern kannst. Falls das nicht geht, hol dir einfach den entsprechenden String mit dlookup aus der DB. DoCmd.OpenReport stDocName, acPreview, , "[Abteilung]='" & dlookup("Feldname","Tabellenname","id=" & Auswahlfeld.value) & "'+[Anstellungsart]='" & dlookup("Feldname2","Tabellenname2","id=" & Auswahlfeld2.value) & "'" Bei dlookup ist das wieder genau das gleiche. Feldname und Tabellenname und danach wieder die WHERE-Anweisung bei Zahlen ohne Hochkomma, bei Strings mit. EDIT: Falls du den Wert als 2. Spalte im Auswahlfeld hast kommst du über Column dran. msgbox(Auswahlfeld.column(1)) liefert dir den Wert, der in der 2. Spalte (1. Spalte ist column(0)) steht. Das könntest du auch statt dem dlookup im Beispiel oben einsetzten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 10. März 2005 Autor Teilen Geschrieben 10. März 2005 HiHo mal wieder ... die loesung hat wunderbar geklappt, dankeschoen! leider gibt es ne neue anforderung und ich komm mal wieder nicht drauf, wie ich das loesen soll ... in der tabelle ist ein datum gespeichert. Nach diesem soll ich nun filtern, allerdings nur nach dem monat. Hab zwar gesehen, dass es ne funktion monat(zahl) gibt, aber ich weiss nicht, wie ich das nun anwenden soll ... ich hab ne kombobox angelegt, in der die monatsnamen und der monat als zahl ausgewaehlt werden. Nach diesem monat will ich nun filtern ... kann ich da monat([Eintrittsdatum]) = ausgewaehlter_monat schreiben? hab grad blackout. dankeschoen schonmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Nach diesem monat will ich nun filtern ... kann ich da monat([Eintrittsdatum]) = ausgewaehlter_monat schreiben? Ja, geht. "monat([Eintrittsdatum])=" & Combo.value Wenn du die Montaszahl in der 2. Spalte hast mußt du wieder Colum(1) nehmen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 13. März 2005 Autor Teilen Geschrieben 13. März 2005 Microsoft Office Access: Undefinierte Funktion 'monat' in Ausdruck. geht wohl doch nicht ... Eintrittsdatum ist ueberigens ein komplettes datum ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 13. März 2005 Teilen Geschrieben 13. März 2005 Mal mit Month() probiert? Im VBA will Access es englisch in den Assistenten Deutsch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 14. März 2005 Autor Teilen Geschrieben 14. März 2005 hmpf ... geht. ich hoffe, ich muss nix mehr in access machen ... das nervt, wenn man bei solchen kleinigkeiten schon nicht mehr weiterkommt. dank dir Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.