Gelöst, unten org. Post.
Ursache: Spalte enthielt stellenweise inkonsistene Datumswerte bzw. nicht Datumswerte.
Lösung:
- Falsche Werte Löschen
- Datumsformat nochmal auf Spalte anwenden
- Spalte auswählen -> Daten -> Text in Spalte -> Alle Trennwerte abwählen -> Ausführen
- Fertig, jetzt ist das Datumsformat auf alle bestehenden und neuen Werte übertragen und die BETWEEN Funktion geht.
Spoiler anzeigen
Ursache: Spalte enthielt stellenweise inkonsistene Datumswerte bzw. nicht Datumswerte.
Lösung:
- Falsche Werte Löschen
- Datumsformat nochmal auf Spalte anwenden
- Spalte auswählen -> Daten -> Text in Spalte -> Alle Trennwerte abwählen -> Ausführen
- Fertig, jetzt ist das Datumsformat auf alle bestehenden und neuen Werte übertragen und die BETWEEN Funktion geht.
Hallo Leute,
ich möchte per ADODB Werte aus einer Excel Tabelle holen, wo die Datumsspalte ein Datum enthält welches innerhalb eines Quartals liegt.
Die Daten welche im ausgewählten Quartal liegen werden errechnet, der Nutzer muss also nur ein Quartal auswählen.
Hier die berechnung, für die die es interessiert:
Spoiler anzeigen
Der SELECT gibt ALLE Daten wieder zurück.
Hier nochmal als nicht Code:
Ich habe bereits verschiedene Datums Formate ausprobiert wie mm/dd/yyyy, aber nichts davon hatte einen Effekt.
Die Datumsspalte ist in Excel als Datum Formatiert (TT.MM.JJJJ)
Kann mir jemand sagen, warum er alle Daten holt und nicht nur die im angegebenen Zeitraum?
ich möchte per ADODB Werte aus einer Excel Tabelle holen, wo die Datumsspalte ein Datum enthält welches innerhalb eines Quartals liegt.
Die Daten welche im ausgewählten Quartal liegen werden errechnet, der Nutzer muss also nur ein Quartal auswählen.
Hier die berechnung, für die die es interessiert:
Visual Basic-Quellcode
- Public Function floor(ByVal val As Double, ByVal precision As Integer) As Variant
- floor = Application.WorksheetFunction.Floor_Math(val, precision)
- End Function
- Public Function getStart(ByVal sDate As String) As Date
- If Not IsDate(sDate) Then Exit Function
- On Error Resume Next
- Dim retVal As Variant
- retVal = DateSerial( _
- year(CDate(sDate)), _
- floor(Month(sDate) - 1, 3) + 1, _
- 1 _
- )
- getStart = retVal
- End Function
- Public Function getEnd(ByVal sDate As String) As Date
- If Not IsDate(sDate) Then Exit Function
- On Error Resume Next
- Dim retVal As Variant
- retVal = DateSerial( _
- year(CDate(sDate)), (( _
- CInt((Month(CDate(sDate)) - 1) / 3) + 1) * 3) + 1, _
- 1 _
- ) - 1
- getEnd = retVal
- End Function
Der SELECT gibt ALLE Daten wieder zurück.
Hier nochmal als nicht Code:
Ich habe bereits verschiedene Datums Formate ausprobiert wie mm/dd/yyyy, aber nichts davon hatte einen Effekt.
Die Datumsspalte ist in Excel als Datum Formatiert (TT.MM.JJJJ)
Kann mir jemand sagen, warum er alle Daten holt und nicht nur die im angegebenen Zeitraum?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Petersilie“ ()