Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Zeitraum per Listenfeld abfragen
zurück: Daten aus einer Abfrage in neues Feld weiter: ABC ANALYSE mit einer Abfrage Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
bobby-k
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Apr 2009, 11:20
Rufname:

Zeitraum per Listenfeld abfragen - Zeitraum per Listenfeld abfragen

Nach oben
       Version: Office 2003

Hallo,

ich habe hier eine Tabelle mit Artikeln, Beschreibungen, Preisen, ... und einem Verkaufsdatum.

Nun möchte ich über zwei Listenfelder die ich manuell mit den Monaten Jan-Dez und mit den Jahren 2009-2020 gefüllt habe eine Auswertung der Umsätze für den gewählten Monat machen.

Das Verkaufsdatum ist im Format tt.mm.yyyy hh.mm.ss (bsp. 04.03.2009 06:40:18) angegeben. Nun bekomme ich über die Listenfelder aber zb. nur die Werte "März" und "2009". Wie kann ich hier eine Abfrage gestalten die mit den Zeitraum vom 01.03.2009 - 31.03.2009 abfragt?

Danke

Bobby
Sinister
Access-Programmierer


Verfasst am:
07. Apr 2009, 12:30
Rufname:


AW: Zeitraum per Listenfeld abfragen - AW: Zeitraum per Listenfeld abfragen

Nach oben
       Version: Office 2003

Hallo,

Erstens, die Formatierung ist egal. Wichtig ist, welchen Datentyp das Verkaufsdatum hat. Ich nehme an, es ist "Datum/Uhrzeit". Dann musst du aus den Listen "irgendwie" zwei Grenzwerte generieren (in deinem beispiel 01.03.2009 und 31.03.2009), und zwar als Datum/Uhrzeit Feld.
Access kann Strings als Datumseingaben verstehen, z.B. "#märz 2009#" wird als "01.03.2009 00:00:00" verstanden.


Zuletzt bearbeitet von Sinister am 07. Apr 2009, 12:32, insgesamt einmal bearbeitet
MaiThai
kann alles ein wenig, aber nichts richtig...


Verfasst am:
07. Apr 2009, 12:32
Rufname: MaiThai

AW: Zeitraum per Listenfeld abfragen - AW: Zeitraum per Listenfeld abfragen

Nach oben
       Version: Office 2003

Vorschlag meinerseits: Mach neben die beiden Listenfelder (Listenfeld1 / Listenfeld2 --> Listenfeld1 enthält die Monatsnamen "Jan","Feb","Mrz", usw.; Listenfeld2 enthält nur Jahreszahlen) noch einen Button ("Ausführen" oder so). In das Click-Ereignis des Buttons legst Du den entsprechenden Code, der die Abfrage ausführen soll.
Code:
Private Sub Ausführen_Button_Click()
    Dim Zeitraum_Von
    Dim Zeitraum_Bis
   
    Select Case Me.listenfeld1
      Case "Jan"
        Zeitraum_Von = "01.01." & Me!listenfeld2
        Zeitraum_Bis = "31.01." & Me!listenfeld2
      Case "Feb"
        Zeitraum_Von = "01.02." & Me!listenfeld2
        Zeitraum_Bis = "28.02." & Me!listenfeld2
      'usw.usw.bis
      Case "Dez"
        Zeitraum_Von = "01.12." & Me!listenfeld2
        Zeitraum_Bis = "31.12." & Me!listenfeld2
    End Select
    Me.RecordSource = "SELECT * " & _
                        "FROM MeineTabelle " & _
                       "WHERE Verkaufsdatum Between " & Format(Zeitraum_Von, _
                                                 "\#yyyy\-mm\-dd\#") & " " & _
                                               "And " & Format(Zeitraum_Bis, _
                                                           "\#yyyy\-mm\-dd\#")
    Me.Requery
End Sub
Ist zwar nicht ganz sauber, weil die Schaltjahre mit dem Februar-Datum nicht berücksichtigt werden, sollte aber genügen, um das Prinzip zu verstehen.
_________________
Gruß

MaiThai
----------------------------------------------
All that we see or seem,
is but a dream within a dream.
bobby-k
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Apr 2009, 16:37
Rufname:

AW: Zeitraum per Listenfeld abfragen - AW: Zeitraum per Listenfeld abfragen

Nach oben
       Version: Office 2003

Hallo und erstmal danke für die Hilfe.

Hab mich für die Variante von MaiThai entschieden und das klappt auch teilweise.
Nun möchte ich noch filtern wer mehr als einen Artikel bestellt.
Versucht hab ich es mit:
Code:
    cpSQL = "SELECT Count(*) AS AnzBestellungen " & _
              "FROM Bestellungen " & _
             "WHERE Artikelanzahl > 1  " & _
               "AND Verkaufsdatum Between " & Format(Me!Zeitraum_Von, _
                                                 "\#yyyy\-mm\-dd\#") & " " & _
                                     "And " & Format(Zeitraum_Bis, _
                                                           "\#yyyy\-mm\-dd\#")
Nun hab ich das Problem das er mir immer alle Bestellungen und nicht nur die im Angegebenen Zeitraum ausgiebt.
Wenn ich die BETWEEN-Anweisung vor die Artikelanzahl-Anweisung schreibe meckert er auch immer rum.

Was stimmt in meinem Code nicht?

Danke

Bobby
Willi Wipp
Moderator


Verfasst am:
07. Apr 2009, 17:56
Rufname:
Wohnort: Raum Wiesbaden


Re: Zeitraum per Listenfeld abfragen - Re: Zeitraum per Listenfeld abfragen

Nach oben
       Version: Office 2003

Hi bobby-k,

Du baust den SQL-Code doch in einer String-Variablen (cpSQL) zusammen.
Dann kannst Du ihn Dir mit Debug.Print cpSQL im Direktbereich (Strg+G; Testfenster) ausgeben lassen.
Von dort ist er schnell in die SQL-Ansicht einer Abfrage kopiert!
Verwende fuer die Count-Funktion die HAVING-Klausel, etwa sowas in der Art
Code:
    cpSQL = "SELECT Count(*) AS AnzBestellungen " & _
              "FROM Bestellungen " & _
             "WHERE Verkaufsdatum Between " & Format(Me!Zeitraum_Von, _
                                                 "\#yyyy\-mm\-dd\#") & " " & _
                                     "And " & Format(Zeitraum_Bis, _
                                                 "\#yyyy\-mm\-dd\#") & " " & _
            "HAVING Count(*) > 1"
(ungetestet)
Wobei sich mir der Sinn in diesem Zusammenhang nicht wirklich erschliesst Confused
Das macht doch nur Sinn wenn Du auch eine Gruppierung verwendest!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
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: Memoformat in Tabelle wird bei Abfragen eiskalt trunkiert?!! 8 Muschimaus 1516 03. Dez 2004, 19:23
Skogafoss Memoformat in Tabelle wird bei Abfragen eiskalt trunkiert?!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen- Formularfeld als Kriterium 1 Gast 684 22. Nov 2004, 15:02
Felix15 Abfragen- Formularfeld als Kriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern aus Kombi & Listenfeld 1 Gast 817 16. Nov 2004, 22:07
lothi Filtern aus Kombi & Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Platzhalter in Abfragen einbinden 2 santje243 915 06. Nov 2004, 12:01
santje243 Platzhalter in Abfragen einbinden
Keine neuen Beiträge Access Tabellen & Abfragen: Suche in Listenfeld 4 Access-Anfänger 673 04. Nov 2004, 11:35
Hilde Suche in Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: spezielle Abfragen 1 Hilfe 704 27. Sep 2004, 17:47
Skogafoss spezielle Abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Einen Wert per Abfrage in mehreren Tabellenspalten suchen 2 Danny G. 606 10. Sep 2004, 18:22
Danny G. Einen Wert per Abfrage in mehreren Tabellenspalten suchen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle per button öffnen 1 Lordoo 1454 14. Jul 2004, 14:05
lothi Tabelle per button öffnen
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabefelder in Abfragen?!?! 6 Diovan80 609 28. Jun 2004, 09:51
Diovan Eingabefelder in Abfragen?!?!
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Zahlen in Abfragen Aufrunden 1 GAST 575 28. Mai 2004, 13:42
lothi Zahlen in Abfragen Aufrunden
Keine neuen Beiträge Access Tabellen & Abfragen: mehrere Abfragen in einem Formular zum Auswerten 2 bpointz 1086 27. Mai 2004, 10:39
bpointz mehrere Abfragen in einem Formular zum Auswerten
Keine neuen Beiträge Access Tabellen & Abfragen: Werte aus Formular per VBA in andere Tabelle anfügen 1 Gast 1861 04. Apr 2004, 21:27
el_gomero Werte aus Formular per VBA in andere Tabelle anfügen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web