Zum Inhalt springen

access abfrage in vba zusammenbauen?


shad0w

Empfohlene Beiträge

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. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...