Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Problem bei Abfrage mit mehreren Filter-Kriterien
zurück: Abfrage Problem weiter: 1 Tabelle mit Hilfe einer anderen ergänzen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Mr.Wilson
Gast


Verfasst am:
17. Aug 2005, 09:13
Rufname:

Problem bei Abfrage mit mehreren Filter-Kriterien - Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Access 2003 - Hallo, vielleicht kann mir ja jemand helfen. Vorweg, ich habe von DB-Programmierung eigentlich keinen blassen Schimmer.

Ich habe eine Abfrage über drei Tabellen (Tab geschäftsbereich, Tab Artikelstamm und Tab Anzahl Kosten), in der ich bei best. Datensätze filtern möchte. Diese Filter sollen über ein Formular eingegeben werden, z.b die Abfrage nach einem Datum. Das mit dem Datum funktioniert soweit auch. Nun habe ich eine Combobox, in der ich mir in dem Formular auch noch eine bestimmte Abteilung (Geschäftsbereich) Auswählen kann.
Über mein Formular bekomme ich es nun hin, das ich mir bestimmte Informationen pro Abteilung und Zeitraum abrufen kann. Auch gut. Die Datenherkunft für die Combobox ist eine Union Abfrage, da ich mir gerne auch Informationen nicht nur pro Abteilung und Zeitraum aufrufen möchte, sondern auch optional für "Alle" Abteilungen. Und hier ist nun mein Problem.
Wie bekomme ich das hin, das er mir bei der Auswahl in der Combobox „Alle“ die Daten über alle Abteilungen hinweg ausgiebt?

Der Code in der SQL-Ansicht beschreibt hier jetzt dass, was halt schon bezogen auf eine Abteilung Funktioniert:
Code:
SELECT   [Tab Anzahl Kosten].Datum, [Tab Artikelstamm].[Artikelnummer 1],
         [Tab Artikelstamm].[Artikelnummer 2],
         [Tab Artikelstamm].Artikelbezeichnung, 
         [Tab Anzahl Kosten].Anzahl, [Tab Anzahl Kosten].[Anzahl DE], 
         [Tab Anzahl Kosten].Kosten, [Tab Geschäftsbereich].ID, 
         [Tab Geschäftsbereich].Geschäftsbereich
FROM     [Tab Geschäftsbereich]
         INNER JOIN ([Tab Artikelstamm]
                     LEFT JOIN [Tab Anzahl Kosten]
                     ON [Tab Artikelstamm].[Artikelnummer 1]=[Tab Anzahl Kosten].[Artikelnummer 1])
         ON [Tab Geschäftsbereich].Geschäftsbereich=[Tab Artikelstamm].Geschäftsbereich
WHERE    ([Tab Anzahl Kosten].Datum Is Not Null
AND       [Tab Anzahl Kosten].Datum Between [Forms]![Form Abfrage Datum Kosten]![Anfangsdatum]
                                        And [Forms]![Form Abfrage Datum Kosten]![Enddatum])
AND      [Tab Geschäftsbereich].Geschäftsbereich=[Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich]
ORDER BY [Tab Anzahl Kosten].Datum;

Wie kann ich das Ändern, dass er bei der Eingabe in der Cobobox [Geschäftsbereich]= „alle“ im Formular [Form Abfrage Datum Kosten] dann auch alle Datensätze ausgibt, z.Zt. gibt die Abfrage logischerweise keinen Datensatz aus.

Danke schon einmal vorweg.

Mr.Wilson
Loomex
VBA-Programmierer


Verfasst am:
17. Aug 2005, 10:15
Rufname:


AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo Mr. Wilson
Versuch mal den Code

Dazu aber den Hinweise speichere Deine Abfrage unter einen Namen ab

und pssse den Code der Bedingungen An
Code:
SELECT -1 As ID, "Alle" As Warengruppe
FROM   SingleRow
UNION
SELECT Warengruppen.ID, Warengruppen.Warengruppe
FROM   Warengruppen;

Die Abfrage oder Tabelle Warengruppen müsste Deiner Abfrage enstrechen, und die Felder entsprechend ändern.

greets
Loomex
jens05
Moderator


Verfasst am:
17. Aug 2005, 10:26
Rufname:
Wohnort: ~~~~~

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo,
in der Kriterienzeile der Abfrage steht bei dir in der Spalte "Geschäftsbereich" jetzt dieses
Code:
[Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich]
um bei der selektion "alle" alles angezeigt zu bekommen erweiterst du nur die Kriterienzeile
Code:
[Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich]
Oder [Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich] = "alle"

_________________
mfg jens05 Wink
Gast



Verfasst am:
17. Aug 2005, 10:34
Rufname:

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo Loomex,

Danke für Deine Antwort. Das Problem ist allerdings nicht, dass ich in der Combobox das "alle" nicht auswählen kann, das Funktioniert schon. Das Problem ist vielmehr, dass die Abfrage mit dem Ausdruck "Alle" nichts anfangen kann. Ich müsste denke ich bei meiner bestehenden Abfrage einen "if - else" Ausdruck mit reinbringen, in der Art wie:
Code:
    If Forms![Form Abfrage Datum Kosten]!Geschäftsbereich = "alle" Then
        Me.FilterOn = False
      Else
        Me.Filter = "[Geschäftsbereich]='" & _
                      Forms![Form Abfrage Datum Kosten]!Geschäftsbereich & "'"
        Me.FilterOn = True
    End If
Sowas habe ich versucht praktisch in meine bestehende Abfrage (siehe oben) mit einzubauen, funktioniert aber nicht...

Gruß

Mr.Wilson
jens05
Moderator


Verfasst am:
17. Aug 2005, 10:44
Rufname:
Wohnort: ~~~~~


AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo Mr. Wilson,
hast du meinen Vorschlag probiert?

_________________
mfg jens05 Wink
Gast



Verfasst am:
17. Aug 2005, 10:52
Rufname:

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

jens05 hat folgendes geschrieben:
Hallo Mr. Wilson,
hast du meinen Vorschlag probiert?


Hallo jens05, wenn ich die kriterienzeile nach deinem Vorschlag erweitere bekomme ich eine Fehlermeldung "Syntaxfehler (fehlender operator) in Abfrageausdruck....", bei Bestätigung markert Access mir das "oder" an.

Mein letzte Teil meines Ausdrucks sieht jetzt so aus, wenn ich Deinen Vorschlag richtig verstanden habe:

....AND [Tab Geschäftsbereich].Geschäftsbereich =[Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich] oder [Forms]![Form Abfrage Datum Kosten].[Geschäftsbereich] = "alle"...

Gruß

Mr.Wilson
jens05
Moderator


Verfasst am:
17. Aug 2005, 11:09
Rufname:
Wohnort: ~~~~~

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo,
in der SQL-Sicht solltest du dann ein or anstelle eines Oder verwenden. ;)
Bevor es aber Probleme mit den Klammern gibt, versuche es doch zuerst im Abfrageentwurf.

_________________
mfg jens05 Wink
Mr.Wilson
Gast


Verfasst am:
17. Aug 2005, 11:23
Rufname:

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo Jens05,

das hat schonmal was gebracht.. Smile.

Problem ist aber nun, das in meiner Abfrage mehr Datensätze erscheinen als eigentlich gewollt.

Folgendes: Wenn ich meine Abfrage von oben den Filter nach den Abteilungen komplett raus nehmen würde, dann gibt er mir alle Artikel pro Abteilungen an - soll ja auch so sein, allerdings auch nur die, bei denen ein Datum hinterlegt ist.
Jetzt mit Deinen Änderungen gibt er mir auch alle Artikel pro Abteilung an (schon mal gut), aber auch die Artikel, bei denen kein Datum hinterlegt ist Sad . Obwohl ich ja einen genauen Zeitraum festgelegt habe (z.B. 1.1.05 - 1.6.05).
Was muss ich denn nun noch beachten, damit er mir die Artikel pro Abteilung ohne Datum nicht mit in die Abfrage stellt? Im Code steht doch "...WHERE ((([Tab Anzahl Kosten].Datum) Is Not Null And ..."

Gruß
Mr.Wilson
jens05
Moderator


Verfasst am:
17. Aug 2005, 12:07
Rufname:
Wohnort: ~~~~~

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo,
das Datum sollte jetzt nach wie vor berücksichtigt werden kannst du mal die jetzige SQL-Ansicht posten.

_________________
mfg jens05 Wink
Mr.Wilson
Gast


Verfasst am:
17. Aug 2005, 12:13
Rufname:

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

So sieht dass jetzt aus:
Code:
SELECT   [Tab Anzahl Kosten].Datum, [Tab Artikelstamm].[Artikelnummer 1],
         [Tab Artikelstamm].[Artikelnummer 2],
         [Tab Artikelstamm].Artikelbezeichnung, [Tab Anzahl Kosten].Anzahl,
         [Tab Anzahl Kosten].[Anzahl DE], [Tab Anzahl Kosten].Kosten,
         [Tab Geschäftsbereich].ID, [Tab Geschäftsbereich].Geschäftsbereich
FROM     [Tab Geschäftsbereich]
         INNER JOIN ([Tab Artikelstamm]
                     LEFT JOIN [Tab Anzahl Kosten]
                     ON [Tab Artikelstamm].[Artikelnummer 1]=[Tab Anzahl Kosten].[Artikelnummer 1])
         ON [Tab Geschäftsbereich].Geschäftsbereich=[Tab Artikelstamm].Geschäftsbereich
WHERE    [Tab Anzahl Kosten].Datum Is Not Null
AND      [Tab Anzahl Kosten].Datum Between Forms![Form Abfrage Datum Kosten]!Anfangsdatum
                                       And Forms![Form Abfrage Datum Kosten]!Enddatum
AND      [Tab Geschäftsbereich].Geschäftsbereich=Forms![Form Abfrage Datum Kosten].Geschäftsbereich
OR       Forms![Form Abfrage Datum Kosten].Geschäftsbereich="alle"
ORDER BY [Tab Anzahl Kosten].Datum;

Gruß
Mr.Wilson
jens05
Moderator


Verfasst am:
17. Aug 2005, 12:24
Rufname:
Wohnort: ~~~~~

AW: Problem bei Abfrage mit mehreren Filter-Kriterien - AW: Problem bei Abfrage mit mehreren Filter-Kriterien

Nach oben
       

Hallo,
da fehlen zwei Klammerpaare
Code:
SELECT   [Tab Anzahl Kosten].Datum, [Tab Artikelstamm].[Artikelnummer 1],
         [Tab Artikelstamm].[Artikelnummer 2],
         [Tab Artikelstamm].Artikelbezeichnung, [Tab Anzahl Kosten].Anzahl,
         [Tab Anzahl Kosten].[Anzahl DE], [Tab Anzahl Kosten].Kosten,
         [Tab Geschäftsbereich].ID, [Tab Geschäftsbereich].Geschäftsbereich
FROM     [Tab Geschäftsbereich]
         INNER JOIN ([Tab Artikelstamm]
                     LEFT JOIN [Tab Anzahl Kosten]
                     ON [Tab Artikelstamm].[Artikelnummer 1]=[Tab Anzahl Kosten].[Artikelnummer 1])
         ON [Tab Geschäftsbereich].Geschäftsbereich=[Tab Artikelstamm].Geschäftsbereich
WHERE    ([Tab Anzahl Kosten].Datum Is Not Null
AND       [Tab Anzahl Kosten].Datum Between Forms![Form Abfrage Datum Kosten]!Anfangsdatum
                                        And Forms![Form Abfrage Datum Kosten]!Enddatum)
AND      ([Tab Geschäftsbereich].Geschäftsbereich=Forms![Form Abfrage Datum Kosten].Geschäftsbereich
OR        Forms![Form Abfrage Datum Kosten].Geschäftsbereich="alle")
ORDER BY [Tab Anzahl Kosten].Datum;

_________________
mfg jens05 Wink
Mr.Wilson
Gast


Verfasst am:
17. Aug 2005, 12:31
Rufname:


Dankeschöööön! - Dankeschöööön!

Nach oben
       

Joho, das wars!!!! Very Happy

Vielen Dank! Ich bin begeistert! Very Happy Very Happy
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage Uhrzeit (von bis) 1 new 2078 02. März 2004, 11:12
new Access Abfrage Uhrzeit (von bis)
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Parameter Abfrage 3 shorty 2270 29. Feb 2004, 15:07
Willi Wipp Parameter Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage nach Berufssparten 3 Fabian_bkk 1537 20. Feb 2004, 10:25
Willi Wipp Abfrage nach Berufssparten
Keine neuen Beiträge Access Tabellen & Abfragen: Problem im Abfrage Generator mit Wenn() und Zwischen() 1 snowman 4094 13. Feb 2004, 10:42
Willi Wipp Problem im Abfrage Generator mit Wenn() und Zwischen()
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Diese Abfrage geht nicht. Kann ir jemand helfen 4 Oliver 1438 02. Feb 2004, 13:21
Willi Wipp Diese Abfrage geht nicht. Kann  ir jemand helfen
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage nach Monat sortiert ausgeben 3 Torsten 2150 29. Jan 2004, 19:52
Torsten In Abfrage nach Monat sortiert ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Unterscheid zwischen 2 Daten berechnen in Abfrage 2 itarus 1441 26. Jan 2004, 17:01
i_tarus Unterscheid zwischen 2 Daten berechnen in Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Verschachtelte Abfrage? 3 Fragesteller 2581 22. Jan 2004, 08:46
ffdabei Verschachtelte Abfrage?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Kombifeld 3 Gast 1255 06. Jan 2004, 19:21
Krokette Abfrage in Kombifeld
Keine neuen Beiträge Access Tabellen & Abfragen: kommentare im sql code einer abfrage? 1 Caladan 1744 22. Dez 2003, 20:15
Ludger kommentare im sql code einer abfrage?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP JavaScript