Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Bulldoez am März 21, 2013, 15:39:53

Titel: Parameterabfrage mit mehreren Kriterien
Beitrag von: Bulldoez am März 21, 2013, 15:39:53
Hallo Leute!

Wieder ich!

Ich bin immer mehr am verzweifeln, nachdem ich jetzt schon das Forum durchgesucht habe und immernoch keine Antwort habe.

In meiner Tabelle "Veranstaltungen" habe ich ein Feld namens "Status". Eine Veranstaltung kann 6 Verschiedene Statusse (oder wie auch immer :D) haben.

- nach Bedarf
- in Planung
- Aktiv
- Abgesagt
- Bestellt
- Abgerechnet

Nun möchte ich mit einer Parameterabfrage abfragen, was zB die Summe der Gesamtkosten im Status "Bestellt" sind. Das sieht dann so aus:

Status      Gesamtsumme
Bestellt         55.360,50€

Aber es kann auch sein, dass ich jeweils die Summe der Gesamtkosten von 2 oder mehreren Statussen (:D) haben möchte, also so:

Status      Gesamtsumme
Bestellt          55.360,50€
Abgesagt      36.870,00€        



Wie muss der SQL-Code für die "Kriterien" aussehen, damit ich in der Parameterabfrage eine oder mehr Statusse (:D) eingeben kann?

Vielen Dank für schnelle Hilfe!!

Gruß Dennis



Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: bahasu am März 21, 2013, 17:01:53
Hi,

vielleicht hilft das Beispiel im Anhang.
Gibt dort eine Abfrage, die durch Komma getrennte Parameter auswertet.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: bahasu am März 21, 2013, 17:03:17
Hi,

und irgendwann später könnte man dann den Status normalisiert als Zahl und nicht als Text speichern.

Harald
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: Bulldoez am März 22, 2013, 07:59:29
Hei Harald!

Danke für deine Antwort! In deiner DB funktioniert das wunderbar, allerdings würde ich gerne ein wenig Hintergrundissen dazu bekommen. Kannst du mir erklären was du gemacht hast?

Und zu deinem Tipp mit der Normalisierung.. Diesen Tipp habe ich meinem Auftraggeber bereits vorgeschlagen, allerdings möchte er seine Wörter behalten und keine Zahlen haben.

Gruß Dennis
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: bahasu am März 22, 2013, 08:11:50
Hi Dennis,

in der Abfrage mit dem langen Namen gibt es eine Spalte:
InStr([X];[Status])

[X] ist der übergebene Parameter (z.B. "aktiv abgesagt")
Mit InStr wird geprüft, ob [Status] als Teilmenge in [X] vorhanden ist.
Wenn dem so ist, kommt als Ergebnis eine Zahl > 0 heraus. Dann sind die Kriterien erfüllt.

Zu den Wörtern, Zahlen: gespeichert werden Zahlen, angezeigt werden Wörter. Auf der Benutzeroberfläche FORMULAR kommt man nur mit Wörtern in Kontakt.

Harald
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: Bulldoez am März 22, 2013, 08:51:33
Ahhh, verstehe.

Dankeschön!

Wenn wir schon dabei sind, hab ich gleich nochmals zur derselben Abfrage nochmals eine kleine Frage.

Nachdem ich jetzt zB von den Status "Bestellt" und "Abgerechnet" die Summe erhalte, möchte ich jetzt eine Gesamtsumme bekommen.
Wenn "Bestellt" also als Summe 5200€ anzeigt und "Abgerechnet" 4800€ Möchte ich dann in der Gesamtsumme die 10000€ stehen haben. Also im Prinzip soll er von den Abgefragten Summen wieder eine Gesamtsumme bilden.

Geht das?!

Danke schonmal!

Viele Grüße
Dennis
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: bahasu am März 22, 2013, 10:12:21
Hi Dennis,

die Abfrage muß nur etwas "verkleinert" werden: siehe Anhang: Abfrage3.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: Bulldoez am März 22, 2013, 10:51:23
Hi Harald,

okay ja, das wäre ja dann wieder eine neue Abfrage. Bekommt man das auch in derselben Abfrage hin?

Status              Wert                Gesamtsumme
Bestellt              2.500€             
Beendet            5.000€             7.500€

Ich ahne, dass das nicht geht?:(

Gruß Dennis
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: bahasu am März 22, 2013, 11:50:31
Hi Dennis,

Zitat von: Bulldoez am März 22, 2013, 10:51:23
Ich ahne, dass das nicht geht?:(

Doch, ist machbar!
Mit ein paar weiteren Abfragen und einem VBA-Einzeiler.

Die Abfrage2 ruft eine public function auf (ist im Modul deklariert). Dort wird dsum aufgerufen und auf eine Abfrage0 angewendet, wobei die zuvor per Parameter übergebenen Vorgaben ausgewertet werden.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: Parameterabfrage mit mehreren Kriterien
Beitrag von: Bulldoez am März 22, 2013, 13:30:19
Vielen Vielen Vielen Dank Harald! Du bist mein Held!  :D

Schönes Wochenende wünsche ich dir! :-)

Gruß Dennis