Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: boxfishy am August 09, 2010, 20:17:04

Titel: datumsabhängige Abfrage
Beitrag von: boxfishy am August 09, 2010, 20:17:04
Hallo Leute,
ich will die Auswertung meiner Access 2003-Datenbank datumsabhängig gestalten. D.h. alle Datensätze zwischen Datum 1 und Datum 2 sollen einbezogen werden. Datum 1 und 2 sollen aber nicht festgelegt sein, sondern es soll dem Datenbanknutzer möglich sein, z.B. via Dialogfenster, die gewünschten Daten einzugeben (sprich: ohne dass der Quelltext der Sql-Abfrage modifiziert werden muss). Ist sowas möglich?
Titel: Re: datumsabhängige Abfrage
Beitrag von: database am August 09, 2010, 20:55:42
Hallo, guten Abend,

JA das ist möglich - auf verschiedene Arten und Weisen!

Zitatz.B. via Dialogfenster
...also per Inputbox wobei hierbei das Datum als Text übergeben wird.
Dieses Datum musst du dann jedoch aufbereiten um es an die Abfrage übergeben zu können
Der SQL-String wird dadurch dynamisch geändert und muss nicht im Quellcode umgeschrieben werden.

So KÖNNTE die Sache in folgender Art gelöst werden:



Private Sub Datumsauswahl()

    Dim strDatum1 As String, strDatum2 As String, startDatum as String, endDatum as String
    Dim strSQL As String
   
    strDatum1 = InputBox("Bitte Datum 1 eingeben", "Datum 1")
    strDatum2 = InputBox("Bitte Datum 2 eingeben", "Datum 2")

    startDatum = Format(strDatum1, "\#yyyy\-mm\-dd\#")
    endDatum = Format(strDatum2, "\#yyyy\-mm\-dd\#")
   
    strSQL = "SELECT * FROM DeineTabelle WHERE Datum BETWEEN " & startDatum & " AND " & endDatum
           
    'SQL-String hier weiterverarbeiten....
    '....
    '...
    '..

End Sub


Das Handling der Datumswerte in diesem Beispiel ist natürlich übertrieben in die Länge und Breite gezogen, kann und sollte vereinfacht dargestellt werden und dient in der Form hier nur der Veranschaulichung der Vorgänge.
Wobei die Funktionalität in obigem Beispiel sehr wohl gegeben ist, bitte auch zu beachten, dass auch zum Abfangen etwaiger Eingabefehler keine Fehlerbehandlung integriert ist!

HTH
Peter
Titel: Re: datumsabhängige Abfrage
Beitrag von: boxfishy am September 06, 2010, 22:48:09
Danke für die Hilfe, habs jetzt letztendlich mit einer Parameter-Abfrage hingekriegt. Wahrscheinlich nicht so elegant, aber Zweck zumindest erfüllt...
Titel: Re: datumsabhängige Abfrage
Beitrag von: oma am September 06, 2010, 23:26:28
Hallo boxfishy,

Zitat...habs jetzt letztendlich mit einer Parameter-Abfrage hingekriegt. Wahrscheinlich nicht so elegant, aber Zweck zumindest erfüllt... 

Das kann man wohl so sagen, Parameterabfragen sind nun wirklich nicht das  Gelbe...

Dabei ist die Umsetzung von Peters Vorschlag doch realisierbar!
Schau dir mal ein kleines Beispiel an, hierbei die Realisierung von Gründung von:  und Gründung bis:

Gruß Oma

[Anhang gelöscht durch Administrator]
Titel: Re: datumsabhängige Abfrage
Beitrag von: boxfishy am November 23, 2010, 22:29:53
Stellt sich mittlerweile raus, dass die Parameterabfrage echt unpraktikabel ist, daher habe ich mir nochmal vorgenommen, das mit der Input-Box zu probieren. Schätze mal, den Vorschlag von Peter muss ich über ein VBA-Modul in die Datenbank einfügen (ist das richtig?). Bin datenbank- und programmiertechnisch noch blutiger Anfänger und habe daher tatsächlich keine Ahnung von VBA. Wie muss ich den SQL-String da weiterführen? Alles was ich bisher versucht habe, führte zu dem Ergebnis, dass er den Befehl als ungültig befunden hat.
@Oma: wo finde ich dein erwähntes Beispiel?
Grüße boxfishy
Titel: Re: datumsabhängige Abfrage
Beitrag von: oma am November 23, 2010, 22:43:55
Hallo,

auch mit einer Inputbox ist das doch nicht so das rechte. mache ein Eingabeformular für deinen Auswahldaten.

Das Beispiel siehst du, wenn du dich angemeldet hast!!!

Gruß Oma
Titel: Re: datumsabhängige Abfrage
Beitrag von: boxfishy am November 23, 2010, 23:20:16
Prinzip in deinem Beispiel leuchtet mir ein. In deinem Beispiel ist das ganze als Formular, ich soll die Abfrage in einem Bericht zurückgeben. Wenn der Bericht geöffent wird, wäre es schön, wenn dann ein Dilogfenster aufgeht, wo das Anfangs- und Enddatum eingegeben werden kann und dann nur die entsprechenden Daten berücksichtigt werden.
Titel: Re: datumsabhängige Abfrage
Beitrag von: oma am November 24, 2010, 00:11:45
Hallo,

ob Formular- oder Berichtsausgabe; das Beispiel kann man doch entsprechend umbauen

Gruß Oma
Titel: Re: datumsabhängige Abfrage
Beitrag von: boxfishy am November 29, 2010, 20:06:00
Danke für die Hilfe,
kriegs nicht wirklich hin, check null, was ich hier wie machen muss. Wie gesagt, hab Null Ahnung von VBA. Werds wohl dann besser doch mal mit kleinem umfassenden Nachhilfekurs versuchen.
Grüße
Boxfishy
Titel: Re: datumsabhängige Abfrage
Beitrag von: oma am November 30, 2010, 11:09:48
Hallo,

vielleicht hilft dir ein kleines Beispiel bei deinem Nachhilfekurs ;D

Gruß Oma

[Anhang gelöscht durch Administrator]