none
Export in Txt Datei

    Frage

  • Hallo,

    ich habe eine csv mit ca. 8Mio. Zeilen. In der ersten Spalte steht immer eine Unixtimestamp, in den weiteren Spalten Zahlen. Diese csv habe ich in Access 2010 importiert um die Unixtimestamp in entweder das Excel Zahlenformat (sowas wie 40367,7439) oder in Text wie "20.12.2013 17:01:05" zu konvertieren. Danach wollte ich die Datei als .csv exportieren.

    Der Import hat problemlos geklappt nur habe ich jetzt mehrere Probleme mit der Bearbeitung Speicherung.

    1. Eigentlich würde ich gerne die Timestamp im Format "20.12.2013 17:01:05" speichern. Nur leider gelingt mir das nicht. Was ich bisher gemacht habe ist ich habe in der Tabelle eine Spalte hinzugefüt mit dem Feldtyp Berechnung. Dann habe ich folgende Berechnung eingetippt: Feld1 (Unixtimestamp)/86400+25569
      damit habe ich dann eine Exceltimestamp so nach dem Motto: 40356,7353457 diese Zahl hat in Access auch 10 Nachkommastellen, was gut aussieht.
    2. Versuche ich jetzt in diesem Feld den Felddatentyp von berechnet auf Datum/Uhrzeit zu ändern erhalte ich die Fehlermeldung, dass man ein Feld mit dem Typ Berechnung nach dem Speichern nicht mehr ändern kann.
    3. Speichere ich die Datenbank als txt ab ohne zu versuchen den Felddatentyp zu ändern (ich benutze dazu den Exportdialog), habe ich nun das Problem, dass immer nur 2 Nachkommastellen gespeichert werden obwohl der Datentyp "double" für das Feld eingestellt wurde. Die anderen Felder mit den Zahlen haben ebenfalls nur 2 Dezimalstellen obwohl sie "single" sind. 2 Dezimalstellen sind aber nicht genug um einen sekundengenauen zeitstempel zu erhalten.
    4. In dem Textfile das ich exportiert habe finden sich zudem an manchen Stellen solche Einträge (obwohl es ja sonst nur 2 Dezimalstellen sind):
      1309794160;40728,65;14,20;9,84507e-03Ist das ein Fehler? Ich kann so etwas nicht brauchen, die Daten müssen in eine andere Software importiert werden und die erwartet wohl ein absolut gleichbleibendes Zahlenformant mit n Nachkommastellen.

    Hoffe Ihr wisst Rat bin nicht wirklich Experte in Access..

    Freitag, 14. März 2014 19:02

Alle Antworten

  • Hallo!

    Erstell Dir für den Export eine Abfrage.

    Darin behandelst Du alle Felder mit einem Double-Wert mit der Funktion CSTR. Die sorgt dafür, dass das Ergebnis als Text interpretiert wird. Damit unterbleibt dann im Export die Umwandlung der Zahlen in die wissenschaftliche Darstellung.

    Die Felder mit dem Timestamp kannst Du mit der Format-Funktion in die gewünschte Form bringen. Ergebnis ist auch hier wieder ein Text, der so exportiert wird, wie er angezeigt wird.

    HTH


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de


    Samstag, 15. März 2014 10:49
  • Beitrag editiert:

    Hallo Thomas,

    sorry für die später Rückmeldung, ich war die letzen 2 Tage etwas krank.

    Das Problem ist das ich ein kompletter noob bin was Access angeht - ich hatte die Frage ursprünglich auch auf MA gestellt nur die haben mich dann an hier verwiesen.

    Also wenn ich mittels Cstr ein Feld umwandle, dann habe ich für die Variablen die Double waren in der Tat keine "E-.." mehr, für variablen, die singel waren aber schon. Woran liegt das?

    Und könntest du/mir jemand verraten, wie ich die Unixtimestamp möglichst schnell und einfach in ein Format wie "27.12.2013 17:02:13" bekomme? Am besten mit Formel, damit da nichts schief geht...

    • Bearbeitet TTC999 Dienstag, 18. März 2014 14:52
    Dienstag, 18. März 2014 10:27
  • Hallo!

    Hilfe kann in meinen Augen immer nur Hilfe zur Selbsthilfe sein. Aus diesem Grund möchte ich Dir vorschlagen, die Hilfe zur Format-Funktion anzuschauen. Dort kannst Du nachlesen, wie du die Parameter übergeben musst.

    In diesem Fall fehlen auf jeden Fall die Anführungszeichen, die den Formatausdruck umschließen.

    CU


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de



    Dienstag, 18. März 2014 10:53
  • Am 18.03.2014 schrieb TTC999:

    Und könntest du/mir jemand verraten, wie ich die Unixtimestamp möglichst schnell und einfach in ein Format wie "27.12.2013 17:02:13" bekomme? Am besten mit Formel, damit da nichts schief geht...

    Die Lösung kam im anderen Thread:
    http://answers.microsoft.com/message/c471ddac-6d11-48ea-aa2a-1510494a55cd


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Dienstag, 18. März 2014 19:47
  • Also damit ihr nicht auf den Link clicken müsst, so gehts:

    Datum1: DatAdd("s";[unixtimestamp];"1.1.1970")

    hope that helps..

    Dienstag, 18. März 2014 20:18