Autor: Peter Haserodt  --- Aus Excel VBA - Gruppe: Tutorials

ADO und Excel (6) - Datum und Zwischenstop

Autor: Peter Haserodt - Erstellt: --      - Letzte Revision: --Gruppenthema: 9 Folgen 1 2 3 4 5 6 7 8 9 Sie sind in Folge:6

ADO und Excel(6) - Datum und Zwischenstop

Ich hoffe, dass Sie sich durch die ersten Teile dieses Ado Tutorials durchgekämpft haben.
Ich kann Ihnen jedenfalls sagen, dass diese Teile an einem verregnetem Wochenende entstanden sind, meine Haare dabei noch grauer wurden und meine Frau mal wieder dringend einen Blumenstrauß braucht,für die vielen Stunden, die ich hier geadot habe. .

Aber weil Sie so brav waren, möchte ich Ihnen einen kleinen Datumstrick verraten.
Gerade die Abfrage auf Daten kann einen in den sonstwohin treiben.
Dabei gibt es einen kleinen Trick,- den ich mir selbst mal vor Jahren erarbeitet habe.

Stellen Sie sich fogende Werte vor:

Beispiel

 ABC
1   
2 DatumWert
3 25.06.20071
4 26.06.20072
5 27.06.20073
6 28.06.20074
7 29.06.20075
8 30.06.20076
9 01.07.20077
10 02.07.20078
11 03.07.20079
12 04.07.200710


Die Tabelle heißt Beispiel.
Unsere Aufgabe ist es, einen Querystring zu entwickeln, der mir alle Werte zurückgibt, mit Datum größer als der 30.6.2007.
Anstatt nun irgendwelche komplizierten und selten funktionierenden Datumstextabfragen zu erstellen, vergleiche ich lieber die serielle Zahl des Datums:
Die serielle Zahl für den 30.6.2007 ist 39263. Ich gehe davon aus, dass Sie diese sich erarbeiten können.

Der Abfragestring sieht dann ganz einfach aus:
sQuery = "Select [Datum],[Wert] from [Beispiel$] where [Datum]*1 >39263"

Durch die Multiplikation des Datumfeldes mit 1 wandele ich es in seine serielle Zahl um.
Spielen Sie ein wenig damit und erfreuen Sie sich der Dinge.



Weitere Artikel der Gruppe: Tutorials Aus Excel VBA
Nach oben