Hallo Thomas
Post by Thomas SommerDanke für Eure Antworten.
Das Feld ist ein Textfeld. Ich will das Feld nur im Rahmen einer
Abfrage abfragen und später die Abfrage als Grundlage für einen
Bericht verwenden.
Wie kann ich das Problem lösen? Muss ich das Format im Bericht
ändern? Wenn ja wie macht man das?
Hier eine Funktion, die die Umwandlung macht:
Public Function makeDate(JJJJMMTT As Variant) As Variant
On Error GoTo PROC_ERR
If IsNull(JJJJMMTT) Then
makeDate = Null
Else
makeDate = CDate(Left(JJJJMMTT, 4) & _
"/" & Mid(JJJJMMTT, 5, 2) & _
"/" & Right(JJJJMMTT, 2))
End If
PROC_EXIT:
Exit Function
PROC_ERR:
makeDate = Null
Resume PROC_EXIT
End Function
Lege diese Funktion in ein Standard Modul ab.
Danach mach in Deiner Abfrage einfach folgendes rein:
SELECT makeDate(DeinFeld) As DeinDatum, weitereFelder
FROM DeineTabelle
Diese Abfrage liefert Dir nun im Feld DeinDatum das in ein Datum
umgewandelte Text-Datumsfeld.
Lass' nun den Report auf dieser Abfrage laufen und dann kannst Du mit
dem Datumsfeld alles machen, was in Reports mit Datumsfeldern gemacht
werden kann, also auch sortieren, gruppieren, formatieren, wochentägeln,
etc.
Falls im Datenbankfeld ein ungültiges Datum im Textformat abgelegt
wurde, also z.B. 20041312, dann wird die obige Funktion NULL
zurückliefern, ebenso, wenn das Feld NULL ist.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org