Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Datum per Drop Down einlesen und für Abfrage nutzen
zurück: Checkbox Angewählt-Rahmen entfernen weiter: Hilfe beim serienbrief Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
evil1
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Apr 2007, 14:28
Rufname:

Datum per Drop Down einlesen und für Abfrage nutzen - Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

Hallo,

ich habe vor von einem Formular aus die folgenden Code zu starten und damit zwei mal ein Datum einzulesen. Diese sollen dann für eine between Abfrage genutzt werden.
Eine Abfrage die Parameter per Box abfragt habe ich schon und sie funktioniert auch, ich empfinde die manuelle Eingabe aber zu Fehleranfällig und will das ganze lieber per Dropdown umsetzen...

wäre schön wenn mir Jemand weiter helfen könnte.

mfg evil
Code:
Option Compare Database
Option Explicit
Public ab_datum As Date
Public bis_datum As Date
Public OPT As String
Dim m1 As String
Dim m2 As String
Dim y1 As String
Dim y2 As String
Dim d2 As String

Private Sub UserForm_Initialize()
    Me!ComboBox1.AddItem "Januar"          'ListIndex = 0
    Me!ComboBox1.AddItem "Februar"         'ListIndex = 1
    Me!ComboBox1.AddItem "März"            'ListIndex = 2
    Me!ComboBox1.AddItem "April"           'ListIndex = 3
    Me!ComboBox1.AddItem "Mai"             'ListIndex = 4
    Me!ComboBox1.AddItem "Juni"            'ListIndex = 5
    Me!ComboBox1.AddItem "Juli"            'ListIndex = 6
    Me!ComboBox1.AddItem "August"          'ListIndex = 7
    Me!ComboBox1.AddItem "September"       'ListIndex = 8
    Me!ComboBox1.AddItem "Oktober"         'ListIndex = 9
    Me!ComboBox1.AddItem "November"        'ListIndex = 10
    Me!ComboBox1.AddItem "Dezember"        'ListIndex = 11
    Me!ComboBox2.AddItem "Januar"          'ListIndex = 0
    Me!ComboBox2.AddItem "Februar"         'ListIndex = 1
    Me!ComboBox2.AddItem "März"            'ListIndex = 2
    Me!ComboBox2.AddItem "April"           'ListIndex = 3
    Me!ComboBox2.AddItem "Mai"             'ListIndex = 4
    Me!ComboBox2.AddItem "Juni"            'ListIndex = 5
    Me!ComboBox2.AddItem "Juli"            'ListIndex = 6
    Me!ComboBox2.AddItem "August"          'ListIndex = 7
    Me!ComboBox2.AddItem "September"       'ListIndex = 8
    Me!ComboBox2.AddItem "Oktober"         'ListIndex = 9
    Me!ComboBox2.AddItem "November"        'ListIndex = 10
    Me!ComboBox2.AddItem "Dezember"        'ListIndex = 11
    Me!ComboBox3.AddItem "2006"            'ListIndex = 0
    Me!ComboBox3.AddItem "2007"
    Me!ComboBox3.AddItem "2008"
    Me!ComboBox3.AddItem "2009"
    Me!ComboBox3.AddItem "2010"
    Me!ComboBox3.AddItem "2011"
    Me!ComboBox3.AddItem "2012"
    Me!ComboBox3.AddItem "2013"
    Me!ComboBox3.AddItem "2014"
    Me!ComboBox3.AddItem "2015"
    Me!ComboBox4.AddItem "2006"            'ListIndex = 0
    Me!ComboBox4.AddItem "2007"
    Me!ComboBox4.AddItem "2008"
    Me!ComboBox4.AddItem "2009"
    Me!ComboBox4.AddItem "2010"
    Me!ComboBox4.AddItem "2011"
    Me!ComboBox4.AddItem "2012"
    Me!ComboBox4.AddItem "2013"
    Me!ComboBox4.AddItem "2014"
    Me!ComboBox4.AddItem "2015"
    Me!ComboBox1.BoundColumn = 0
    Me!ComboBox2.BoundColumn = 0
    Me!ComboBox3.BoundColumn = 0
    Me!ComboBox4.BoundColumn = 0
    Me!ComboBox1.Style = fmStyleDropDownList
    Me!ComboBox2.Style = fmStyleDropDownList
    Me!ComboBox3.Style = fmStyleDropDownList
    Me!ComboBox4.Style = fmStyleDropDownList
End Sub

Private Sub ComboBox1_Change()
    Select Case Me!ComboBox1
      Case 0  'Januar
        m1 = "01"
      Case 1  'Februar
        m1 = "02"
      Case 2  'März
        m1 = "03"
      Case 3  'April
        m1 = "04"
      Case 4  'Mai
        m1 = "05"
      Case 5  'Juni
        m1 = "06"
      Case 6  'Juli
        m1 = "07"
      Case 7  'August
        m1 = "08"
      Case 8  'September
        m1 = "09"
      Case 9  'Oktober
        m1 = "10"
      Case 10 'November
        m1 = "11"
      Case 11 'Dezember
        m1 = "12"
    End Select
End Sub

Private Sub ComboBox2_Change()
    Select Case Me!ComboBox2
      Case 0  'Januar
        m2 = "01"
        d2 = "31"
      Case 1  'Februar
        m2 = "02"
        d2 = "28"
      Case 2  'März
        m2 = "03"
        d2 = "31"
      Case 3  'April
        m2 = "04"
        d2 = "30"
      Case 4  'Mai
        m2 = "05"
        d2 = "31"
      Case 5  'Juni
        m2 = "06"
        d2 = "30"
      Case 6  'Juli
        m2 = "07"
        d2 = "31"
      Case 7  'August
        m2 = "08"
        d2 = "31"
      Case 8  'September
        m2 = "09"
        d2 = "30"
      Case 9  'Oktober
        m2 = "10"
        d2 = "31"
      Case 10 'November
        m2 = "11"
        d2 = "30"
      Case 11 'Dezember
        m2 = "12"
        d2 = "31"
    End Select
End Sub

Private Sub ComboBox3_Change()
    Select Case Me!ComboBox3
      Case 0  '2006
        y1 = "2006"
      Case 1  '2007
        y1 = "2007"
      Case 2  '2008
        y1 = "2008"
      Case 3  '2009
        y1 = "2009"
      Case 4  '2010
        y1 = "2010"
      Case 5  '2011
        y1 = "2011"
      Case 6  '2012
        y1 = "2012"
      Case 7  '2013
        y1 = "2013"
      Case 8  '2014
        y1 = "2014"
      Case 9  '2015
        y1 = "2015"
     End Select
End Sub

Private Sub ComboBox4_Change()
    Select Case Me!ComboBox4
      Case 0  '2006
        y2 = "2006"
      Case 1  '2007
        y2 = "2007"
      Case 2  '2008
        y2 = "2008"
      Case 3  '2009
        y2 = "2009"
      Case 4  '2010
        y2 = "2010"
      Case 5  '2011
        y2 = "2011"
      Case 6  '2012
        y2 = "2012"
      Case 7  '2013
        y2 = "2013"
      Case 8  '2014
        y2 = "2014"
      Case 9  '2015
        y2 = "2015"
     End Select
End Sub

Private Sub CommandButton1_Click()
    'ab_datum = 1 & "." & m1 & "." & y1
    'bis_datum = d2 & "." & m2 & "." & y2
JörgG
Access-Team


Verfasst am:
20. Apr 2007, 16:20
Rufname:
Wohnort: b. Dresden


AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

Hallo,

ein Excel-Freund Razz

Im Formularentwurf, die Monats-Kombis: markiere Combobox1 Shifttaste gedrückt halten Combobox2 markieren - [F4] Eigenschaftfenster öffnen - Register Daten: - Herkunftstyp = Werteliste, gebundene Spalte = 1, nur Listeneinträge = Ja. Im Register Format: Spaltenanzahl 2, Spaltenbreiten = 0cm;3cm

Im Formularentwurf, die Jahres-Kombis: markiere Combobox3 Shifttaste gedrückt halten Combobox4 markieren - [F4] Eigenschaftfenster öffnen - Register Daten: - Herkunftstyp = Werteliste, gebundene Spalte = 1, nur Listeneinträge = Ja. Im Register Format: Spaltenanzahl 1, Spaltenbreiten = 3cm

Im Formularentwurf, Doppelklick auf das graue Quadrat links oben wo die beiden Lineale zusammenlaufen, Du stehst jetzt im Eigenschaftsfenster des Formulares - Register Ereignis - "beim Öffnen" (oder "beim Laden") - [Ereignisprozedur] - klick rechts auf die "..."
Code:
Private Sub Form_Open(Cancel As Integer)
    Dim i As Integer, strJahre As String

    For i = 1 To 4
        Me("Combobox" & i).RowSourceType = "Value List"
    Next i
'Monate
    Me!Combobox1.RowSource = "1;'Januar ';2;'Februar';3;'März';4;'April';" & _
            "5;'Mai';6;'Juni';7;'Juli';8;'August';" & _
            "9;'September';10;'Oktober';11;'November';12;'Dezember'"
    Me!Combobox2.RowSource = Me!Combobox1.RowSource
'Jahre
    For i = Year(Date) - 1 To Year(Date) + 10
        strJahre = strJahre & ";" & i
    Next i
    Me!Combobox3.RowSource = Mid(strJahre, 2)
    Me!Combobox4.RowSource = Me!Combobox3.RowSource
End Sub
Damit kannst Du Deine 4 Kombis füllen. Zum Zusammenbauen des Datums verwende die Kombifeldereignisse "nach Aktualisierung".

Edit: Laughing Was mir jetzt so auffällt, bist Du im richtigen Forum?

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
evil1
Im Profil kannst Du frei den Rang ändern


Verfasst am:
24. Apr 2007, 16:32
Rufname:

AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

danke für die antwort...
naja, bin nicht wiklich ein freund von exel, habe das projekt von meinem vorgänger übernommen und der hat nur mit vba gearbeitet....

kennt vielleicht jemand ne möglichkeit die ganze sache nur in nem formular abzuhandeln und die werte dann einfach an eine abfrage zu übergeben?

mfg evil
JörgG
Access-Team


Verfasst am:
24. Apr 2007, 22:59
Rufname:
Wohnort: b. Dresden

AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

Hallo,

Wir reden also doch von Access Very Happy . Du hast jetzt 4 Kombis mit Monats-/Jahreszahlen, wie sind die Datumsfelder die Du abfragen willst formatiert (tt.mm.jjjj)?

Poste bitte die SQL-Ansicht der Abfrage von der hier die Rede ist.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
evil1
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Apr 2007, 09:27
Rufname:


AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

kein Thema

wie gesagt, Vorgänger war VBA Freak ohne jede Ahnung von Datenbanken...
Code:
PARAMETERS [Ab Datum] DateTime, [Bis Datum] DateTime;
SELECT   P.[PO-Nr], P.S_NR, P.[Benötigt zum], P.Kopfbeschreibung,
         Sum(P.[Betrag bestellt]) AS [SummevonBetrag bestellt],
         Sum(P.[Betrag WE]) AS [SummevonBetrag WE]
FROM     schlüsselnummern AS S
         INNER JOIN pepsytest AS P
         ON S.Schlüsselnummer = P.S_NR
GROUP BY P.[PO-Nr], P.S_NR, P.[Benötigt zum], P.Kopfbeschreibung
HAVING   P.[Benötigt zum] Between [Ab Datum] And [Bis Datum]
AND      Sum(P.[Betrag WE])>0
ORDER BY P.[PO-Nr], P.S_NR, P.[Benötigt zum];
die Formatierung ist Datum kurz, kann ich zur Not aber noch passend ändern...

die oben stehende Code funktioniert auch so wie er soll, will jetzt halt nur die Parameterabfrage umbauen, weil sie im mom nicht wirklich Fehlerresistent ist...

schönen Dank schon mal im Voraus.
JörgG
Access-Team


Verfasst am:
25. Apr 2007, 11:26
Rufname:
Wohnort: b. Dresden

AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

Hallo,

Die Minimallösung wäre ein Formularbezug, dazu müsstest Du in Deiner Abfrage das Kriterium (die Having-Klausel) ändern, allerdings sind Fehleingaben möglich.

Exclamation BackUp anlegen, nicht vergessen!

Um jetzt Fehlerresistent zu werden bedarf es allerdings etwas mehr, dann muss im Formular, zB hinter das letzte auszufüllende Kombi (Combobox4?) eine Gültigkeitsprüfung eingebaut werden. Öffne das Formular im Entwurf - Combobox4 markieren - [F4] Eigenschaftsfenster öffnen - Register Ereignis - "nach Aktualisierung" - [Ereignisprozedur] - klick rechts auf die "..."
Code:
Private Sub Combobox4_AfterUpdate()
    If Not IsNull(Me!Combobox1) And Not IsNull(Me!Combobox2) And _
       Not IsNull(Me!Combobox3) And Not IsNull(Me!Combobox4) And _
       Me!Combobox1 <= Me!Combobox2 And Me!Combobox3 <= Me!Combobox4 Then
        intMonatVon = Me!Combobox1
        intMonatBis = Me!Combobox2
        intJahrVon = Me!Combobox3
        intJahrBis = Me!Combobox4
        Me.Requery
      Else
        MsgBox "Datumswerte falsch oder unvollständig"
    End If
End Sub
Für die 3 anderen Kombis im gleichen Ereignis:
Code:
Private Sub Combobox1_AfterUpdate()
    Me!Combobox3.SetFocus
    Me!Combobox3.Dropdown
End Sub

Private Sub Combobox3_AfterUpdate()
    Me!Combobox2.SetFocus
    Me!Combobox2.Dropdown
End Sub

Private Sub Combobox2_AfterUpdate()
    Me!Combobox4.SetFocus
    Me!Combobox4.Dropdown
End Sub
Im Datenbankfenster - Module - Neu, hier kopierst Du diese Funktion hinein, sie übergibt die Variablen an die Abfrage:
Code:
Option Explicit

Public intMonatVon As Integer, intMonatBis As Integer
Public intJahrVon As Integer, intJahrBis As Integer

Public Function FktMonatJahr(ByVal intWert As Integer) As Integer
    Select Case intWert
        Case 1: FktMonatJahr = intMonatVon
        Case 2: FktMonatJahr = intMonatBis
        Case 3: FktMonatJahr = intJahrVon
        Case 4: FktMonatJahr = intJahrBis
    End Select
End Function
Idea Beim Speichern des Moduls, Modulname <> Funktionsname (zB Mod_Datumsfunktionen)
Die Abfrage:
Ziehe das Feld [Benötigt zum] noch mal in die Abfrage zum Aufsplitten (einstellen auf "Bedingung"), bei FELD schreibst Du:
Code:
MonatX: Month([Benötigt zum])
und als Kriterium:
Code:
>=FktMonatJahr(1) AND <=FktMonatJahr(2)
und dasselbe noch mal für das Jahr:
Code:
JahrX: Year([Benötigt zum])
und als Kriterium:
Code:
>=FktMonatJahr(3) AND <=FktMonatJahr(4)
Das erste [Benötigt zum] mit dem BETWEEN-Kriterium wird entfernt.

Beim zweiten Öffnen des Formulares stehen ja schon Werte in den Publicvariablen drin, dh es wird bereits selektiert geöffnet. Du müsstest mal verraten was dann angezeigt werden soll?

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
evil1
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Apr 2007, 14:20
Rufname:

AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

es sollen die Werte der Abfrage angezeigt werden, nur halt in dem angegebenen Zeitraum.
mal ne blöde frage, ist fktMonatJahr ne Standardfunktion oder bin isch nur zu blöd?

sorry was VBA angeht hab ich nicht wirklich nen Plan, was Datenbanken angeht dann schon ehr....
Willi Wipp
Moderator


Verfasst am:
25. Apr 2007, 14:38
Rufname:
Wohnort: Raum Wiesbaden

Re: Datum per Drop Down einlesen und für Abfrage nutzen - Re: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

Hi evil1,

die Funktion fktMonatJahr hat doch JoergG im letzten Beitrag auch gezeigt
==> es ist Benutzer definiert.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
evil1
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Apr 2007, 15:57
Rufname:


AW: Datum per Drop Down einlesen und für Abfrage nutzen - AW: Datum per Drop Down einlesen und für Abfrage nutzen

Nach oben
       Version: Office 2003

sorry habs jetzt auch gesehn, is leider manchmal so, man sitzt davor und siehts nicht
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: bei Abfrage nur den jüngsten Datensatz anzeigen 3 Hannes 1872 25. Feb 2004, 17:02
Willi Wipp bei Abfrage nur den jüngsten Datensatz anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Mit Datum rechnen 6 Veritas 1049 22. Feb 2004, 20:11
Willi Wipp Mit Datum rechnen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Problem 4 shorty 1883 20. Feb 2004, 20:00
shorty Abfrage Problem
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] verschachtelte Abfrage 13 ppc 1478 17. Feb 2004, 19:46
ppc [DANKE-ERLEDIGT] verschachtelte Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Formulargesteuerte Abfrage 2 obismarck 2699 17. Feb 2004, 17:03
obismarck Formulargesteuerte Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Min() Abfrage 4 augenzeuge 1056 17. Feb 2004, 10:13
Gast Min() Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Parameter bzgl. Datum ... 3 gunthahari 3489 13. Feb 2004, 18:18
gunthahari Abfrage mit Parameter bzgl. Datum ...
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Formular erstellen 2 frkrone 3248 12. Feb 2004, 14:22
frkrone Abfrage aus Formular erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: inventar abfrage 5 nooby 2254 05. Feb 2004, 14:46
nooby inventar abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann man über Formular eine Abfrage aufrufen? 2 Ludi 2166 30. Jan 2004, 15:14
Willi Wipp Wie kann man über Formular eine Abfrage aufrufen?
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage mit dynamischem Datum 3 TomFHM 5170 15. Jan 2004, 20:04
TomFHM SQL-Abfrage mit dynamischem Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage 2 Klaus 1957 11. Jan 2004, 22:35
Gast Abfrage
 

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