Zum Inhalt springen

Sql Datum 20080515152738 in access als normales Datum umwandeln


Empfohlene Beiträge

Geschrieben

Ich habe aus excel eine tabelle in access importiert. ein feld davon heißt timestamp. die daten darin sehen wie folgt aus: 20080515152738.

ich hätte dieses datum aber jetzt gerne als 15.05.2008 15:27:38 damit ich später nach monaten oder jahren sortieren kann.

kenn mich kaum mit access aus, bitte um hilfe.

Geschrieben

schreib dir eine funtion, die mittels substrings das datum korrekt umformatiert und den datumsbegrenzer # links und rechts davon setzt.

also z.b. so - ungetestet:

function CSqlDate(datum as string)


  CSqlDate = mid(datum, 1, 4) ' liefert nur das jahr


end function

die entsprechenden positionen in deiner datumswurst musst du natürlich anpassen.

s'Amstel

Geschrieben

du willst aus "20080515152738" ein "15.05.2008 15:27:38" machen - was ja prinzipiell dasselbe ist, nur in einer anderen darstellung.

damit du diese datumsangabe datenbankkonform verarbeiten willst, muss du es umformatieren. das machst du, indem du die einzelnen stellen dieser zahlenkette in die richtige reihenfolge bringt.

und das machst du eben mit substrings:

Mid(deinString as String, Start as Long, [Lenght])

die funktion Mid liefert dir von deinString, genau Lenght zeichen lang, und das ab position Start.

s'Amstel

Geschrieben

nachtrag: die längenangabe heisst im englischen natürlich nicht lenght, sondern length - was aber hier ohnehin nicht sonderlich relevant ist.

das kommt davon, wenn man ungesehen irgendwelche quellen heranzieht ;)

s'Amstel

Geschrieben

Hmm, also ich hab das jetzt versucht im visual basic zu machen,und dann sieht das so aus:

Function timestamp(datum As String)

timestamp = Mid(timestamp, 1, 8) so hätte ich nur das datum ohne uhrzeit und könnte ja so nach monaten sortieren!!!

End Function

aber irgendwie passiert in der datenbank so gar nix!!

sorry für die blöden fragen aber kenne mich damit nicht gut aus!!

Geschrieben

Hi Ani,

Ich würde vorschlagen das Datum einfach komplett zu zerlegen.

d.h.

=links(FELD;4) AS JAHR

=rechts(links(FELD;6);2) AS MONAT

usw.

Hoffe dieser Workaround hilft Dir.

Gruß,

Batze

Geschrieben

Was ich nicht ganz verstehe, wenn ich etwas in VBA eingebe, wie gebe ich denn ein, aus welchen spalten die ganzen daten genommen werden sollen und wo werden die dann so wie ich es gerne hätte hingeschrieben???

so sieht die tabelle in access aus, nur mit mehr spalten, aber relevant ist ja eigentlich nur timestamp.

ich weiß jetzt nicht wie ich das im vba eingeben muss mit dem mid und wo dann mein richtiges datum erscheint?? muss ich eine extra spalte anlegen oder erscheint das geänderte datum dann in dem feld timestamp??

id timestamp

10001 20080623191807

hoffe um hilfe...

vielen dank

Geschrieben

Beschreibe doch mal bitte genauer was Du mit deiner Abfrage bewirken willst.

Im Moment verstehe ich dein Problem so:

Mitarbeiter gibt ID ein um den Timestamp rauszufinden...

Ich würde folgendes machen:

Bei einem Dialog ist der Aufbau in Access folgender:

Abfrage anlegen:

select id, timestamp from tabelle1

Bericht anlegen:

Hier werden die Daten ausgeben

Formular anlegen:

In der Oberfläche muss es ein Feld für die ID geben und ein Button mit dem die Abfrage gestartet wird.

Wird die Abfrage ausgeführt gibst Du die ID als "Where" im SQL mit:

Private Sub BUTTON1_Click()

DoCmd.OpenReport "REPORT1", acViewPreview, , "ID = " & 'wert von der Textbox'

End Sub

Den 'Bericht' könnte man im Prinzip auch weglassen und das Ergebnis in einer MsgBox ausgeben; ein Bericht hat den Vorteil, dass er direkt ausgedruck und einfach bearbeitet werden kann.

Ich hoffe die Erklärungen reichen auch ohne Bildchen ;-)

Gruß,

Batze

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...