Datum per CSV übergeben

Begonnen von sammelwut58, 7 März 2022, 17:00:39

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

sammelwut58

Mir gelingt es, auch nach etlichen Versuchen, nicht, per CSV-Datei eine Datumsangabe (bzw. natürlich viele) (auf das Datums-Feld 1 unter eigene Infos) zu übertragen.

Ich erhalte die Meldung:

"Die ausgewählten Spalten ermöglichen keine Aktualisierung der Datenbank, deshalb wird der Vorgang abgebrochen."

Vor dem Start der Aktualisierung sieht eigentlich alles bestens aus. Auch das Datumsfomat TT.MM.JJJJ passt (optisch). Kopiere ich die entsprechende Spalte in Excel um und füge sie als Wert ein, bekomme ich allerdings nur eine exceltypische Zahlenkolonne. Ich habe es auch geschafft das Datum in den Zellen als Zahl oder Text abzulegen T M J getrennt durch . (Punkt). Bringt aber alles nichts.
Jede Art der Formatierung wurde bislang abelehnt.

Irgendwelche Ideen?

PS.: Es wäre ggf. ganz gut irgendwo mal die Importformate zu listen (falls es denn an diesen liegen sollte). Ich verbringe nun schon Stunden und Tage mit dem Thema und stoße immer wieder auf Probleme (obwohlich ich - aus diesen Gründen - weiterhin nur 2-Spaltig vorgehe.

tbengel

ZitatMir gelingt es, auch nach etlichen Versuchen, nicht, per CSV-Datei eine Datumsangabe (bzw. natürlich viele) (auf das Datums-Feld 1 unter eigene Infos) zu übertragen.
Funktioniert bei mir ohne Problem:

Nr.;Datum-Feld 1
1;01.02.2000
2;02.02.2000
3;03.02.2000
4;04.02.2000
5;05.02.2000

Grüße

tbengel

sammelwut58

ggf liegt es daran, dass ich die Formatierung des Datums nicht richtig hin bekomme.

Es ist bei mir halt als Datum Formatiert (nicht Text oder so). Damit gings schon mal nicht.
Ich habe keine Möglichkeit gefunden das Datum so zu extrahieren, dass es im Format TT.MM.JJJJ als Text vorliegt.

(Mein Versuch war so, dass ich nacheinander den Tag, dann den Monat und dann das Jahr in Spalten extrahiert und diese dann mit dem Punkt dazwischen wieder zusammen gebaut habe. Leider ist dabei bei 1. stelligen Zahlen (Tag / Monat) die zweite Stelle auf der Strecke geblieben. Lange Rede kurzer Sinn, am Schluß sahe es gut aus, hat aber nicht funktioniert.

Kennst du eine Methode, das anders zulösen? Ursprünglich habe ich halt 7.5.2022 eingeben und Exel hat (aufgrund der Zellformatierung) 2022.05.07 angezeigt. Alles bene,für meine damaligen Ansprüche. Die Transformation zu 07.05.2022 (als Text, und das ist wohl gefordert?) gelingt mir (anscheinend) nicht.
Ich nehme zumindest an, dass es dran liegt.

sammelwut58

Sieht so aus, als hätte ich das Problem bzw. den Fehler gefunden!

Während ich einige andere Felder (Kategorien) aus CSV-Dateien mit leeren Zellen befüllen konnte, ging das hier (wie schon unter einem früheren Thema berichtet) wieder nicht!

Konkret ging es hier um das Datum, wann der Film zuletzt (und überhaupt) gesehen wurde. Die Checkbox für "Film gesehen" ist natürlich schon nützlich, aber ein konkretes Datum ist m. E. doch hilfreich (wenn das z. B. schon 15 Jahre her war). Dafür habe ich eines der Datumsfelder umbenannt. Da bei weitem nicht alle Filme geschaut wurden, gab es entsprechend leere Zellen. Und genau das führte zum unmittelbaren Abbruch mit o. g. (eher unpassender) Fehlermeldung. Ich habe dann alle Leerfelder mit dem Datum 01.01.0001 aufgefüllt und siehe da, "schon" lief ddas Daten-Update.

M.E. ist dieses Verhalten (insgesamt) doch eine Sache, der man doch mal Aufmerksamkeit schenken sollte.

sammelwut58

Wie berichtet ist der Datentransfer jetzt durchgelaufen, aber es gibt ein erstaunliches Ergebnis (mit dem ich allerdings zu Not leben kann):

Alle Felder, an die ich das Datum 01.01.0001 übergeben habe, zeigen jetzt das Datum 02.01.3939!
Das ist schon einigermaßen irre. Ich habe die Daten vor der Übertragung noch mal im schlichten Editor überprüft und kann so sicher sagen, dass 01.01.0001 übegeben wurde. Schon aus Neugierde versuche ich es jetzt noch mal mit 01.01.1000 oder 01.01.1900. Die Zellen, in denen ein anderes (also bedeutungsschwangeres) Datum stand, wurden 1:1 korrekt übernomen.

sammelwut58

Also, das ist schon crazy:

Die Übertrag der Datumsangaben führt zu folgenden Ergebnissen:

    CSV            MyMDb
01.01.0001  -->  02.01.3939
01.01.1000  -->  26.12.2939
00.00.0000  -->  04.02.3940

Für Kryptologen mag das ein klarer Zusammenhang sein, aber für unsereins vom Lande (irgendwie binär) ???

--.--.----


tbengel

ZitatAlle Felder, an die ich das Datum 01.01.0001 übergeben habe
... und warum sollte jemand sowas tun?

Du kannst, wenn Du willst für jedes Feld irgendwelche komischen Werte eingeben,
da wir der Meinung sind, dass die Daten dem User allein gehören und er soll im
Rahmen der Typformatierungen machen dürfen was er möchte.

ZitatFür Kryptologen mag das ein klarer Zusammenhang sein, aber für unsereins vom Lande (irgendwie binär) ???
Wenn Du Dir die data/mymdbce.script anschaust, dann wirst Du sehen, dass
in den Datumsfeldern kein Datum, sondern eine lange Zahl steht, und bei
einem nicht validen Datum funktioniert die Konvertierung (zurecht) nicht.
Gespeichert werden die Sekunden seit 1970 (Unix-Timestamp).

Hier ein wenig Lesematerial für den Kryptologen in Dir:
https://alexander-fischer-online.net/fuer-webmaster/unix-timestamp-in-datumsformat-wandeln.html

sammelwut58

ups, da habe ich irgendwie den Versand ausgelöst, egal.

Also --.--.--- führt dazu, das MyMDB meckert, dass es sich um kein gültiges Datumsformat handele und ob die Stellen durch "Leer" ersetzt werden sollen. Ich bitte darum und die Datenübernahme läuft ohne weiteres Probelm an und liefert:   Nichts (bzw eben leer)

Yeah,
das ist zwar extrem unkonventionell, aber die Lösung. In den Feldern, für die es kein Datum gibt (Film halt nicht gesehen) wird nichts eingetragen in den anderen das Datum.
Perfekt!

sammelwut58

Ich sehe gerade einen Schreibfehler, es muß natürlich (vermutlich) --.--.---- sein (nicht --.--.---)

TinyPortal 2.0.0 © 2005-2020