Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SQL Datums Abfrage

SQL Datums Abfrage
LINO
Hallo liebe Excel-Gemeinde,
ich versuche über sql Abfragen Daten aus einer Access Datei zu Filtern
und in Excel einzuladen.
Z.B. soll für den Bereich von 01.02.2004 bis 29.02.2004
die Daten angezeigt werden.
Mein VBA Code dazu sieht wie folgt aus:
Datum = "01-02-2004"
DatumII = "29-02-2004"
sql = "SELECT * " & _
"From Rechnungen " & _
"WHERE Datum BETWEEN #" & Datum & "# AND #" & DatumII & "# "
Datumsbereich wird im Programm natürlich per Dialoge abgefragt.
Mein Problem dabei ist aber, dass keine oder alle Daten eingelesen werden,
wenn z.B. keine Einträge zum 01.02.2004 vorhanden sind.
Ist also der erste Eintrag in der Datenbank z.B. 05.02.2004 bekomme ich mit der gezeigten Abfrage nur Schwachsinn raus!
Kann mir einer sagen warum!?
Ähnlich siehts aus, wenn das Enddatum nicht vorhanden ist.
Vielen Dank schon mal.
Grüße
LINO
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SQL Datums Abfrage
Ramses
Hallo
Probiers mal mit dem Datum
1/2/2004
29/2/2004
SQL erwartet meines Wissens nach das Datum in diesem Format und ohne führende Null.
Gruss Rainer
AW: SQL Datums Abfrage
LINO
Servus Rainer,
ich hab die Schreibweise mal probiert.
Zusätzlich hab ich Tag und Monat vertauscht (amerikanische Schreibweise)
also
2/28/2004
anstelle
28/2/2004
dann ghet 's!!
Danke für den Tipp.
LINO
Anzeige
Merci :-) Geschlossen o.T.
Ramses
...
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

SQL Datumsabfrage in Access und Excel


Schritt-für-Schritt-Anleitung

  1. Zugriff auf die Access-Datenbank: Stelle sicher, dass Du die Access-Datenbank, aus der Du die Daten abfragen möchtest, geöffnet hast.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  3. Neues Modul erstellen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. VBA-Code eingeben:

    Sub DatenAbfragen()
       Dim Datum As String
       Dim DatumII As String
       Dim sql As String
    
       ' Datumswerte setzen
       Datum = "01-02-2004"
       DatumII = "29-02-2004"
    
       ' SQL-Abfrage zusammenstellen
       sql = "SELECT * FROM Rechnungen WHERE Datum BETWEEN #" & Datum & "# AND #" & DatumII & "#"
    
       ' Hier fügst Du den Code ein, um die Daten in Excel zu laden
    End Sub
  5. Datumsformat prüfen: Achte darauf, dass die Datumsangaben im richtigen Format sind. SQL erwartet in der Regel das Format MM/DD/YYYY.

  6. Daten abrufen: Führe den Code aus, um die Daten abzurufen.


Häufige Fehler und Lösungen

  • Problem: Keine Daten werden angezeigt.

    • Lösung: Überprüfe, ob die Datumswerte korrekt sind und ob tatsächlich Daten im angegebenen Zeitraum existieren.
  • Problem: Abfrage gibt unerwartete Ergebnisse zurück.

    • Lösung: Stelle sicher, dass das Datumsformat korrekt ist. Beispielsweise kann das Format 1/2/2004 anstelle von 01-02-2004 verwendet werden.

Alternative Methoden

  • Parameterabfragen in Access: Du kannst auch Parameterabfragen in Access verwenden, um Datumswerte dynamisch abzufragen. Dies ermöglicht eine flexiblere Handhabung der Daten.

  • Pivot-Tabellen: Nutze Excel-Pivot-Tabellen, um die abgerufenen Daten nach Datum zu sortieren oder zu filtern.


Praktische Beispiele

  • SQL-Abfrage mit aktuellen Datum:

    SELECT * FROM Rechnungen WHERE Datum >= Date()
  • Daten abfragen, die größer als ein bestimmtes Datum sind:

    SELECT * FROM Rechnungen WHERE Datum > #01-02-2004#
  • Daten zwischen zwei Datumswerten abfragen:

    SELECT * FROM Rechnungen WHERE Datum BETWEEN #01-02-2004# AND #29-02-2004#

Tipps für Profis

  • SQL-Datumsformat beachten: Achte immer darauf, dass Du das richtige Datumsformat verwendest, um Missverständnisse bei der Abfrage zu vermeiden.

  • Datumsvergleiche optimieren: Nutze SQL WHERE-Bedingungen, um präzise Abfragen durchzuführen und die Leistung Deiner Abfragen zu verbessern.

  • Text in Datum umwandeln: Wenn Deine Daten als Text vorliegen, kannst Du sie mit CDate() in ein Datumsformat umwandeln, um sie in Abfragen zu verwenden.


FAQ: Häufige Fragen

1. Wie kann ich nur Daten abfragen, die nach einem bestimmten Datum liegen? Du kannst die Abfrage wie folgt gestalten:

SELECT * FROM Rechnungen WHERE Datum > #01-02-2004#

2. Was mache ich, wenn ich keine Daten erhalte? Überprüfe das Datumsformat und stelle sicher, dass es mit dem in der Access-Datenbank übereinstimmt. Es könnte auch sein, dass im angegebenen Zeitraum keine Daten existieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige