0

Import CSV überlange Texte

Ich importiere über eine gespeicherte CSV-Datei Datensätze in meine DB.

Wenn ich aber Datensätze mit überlange Textfeldern (z.B. 1x A4-Seite beschreiben) importiere wird die Zuordnung des gebildeten Arrey zu meinen Feldern durcheinander gebracht.

Der Import-Code ist folgender:

let id := this;
let titel := "LV importieren?";
let nachricht := "Soll ein LV aus einer CSV-Datei importiert werden?
zu beachten:
- die Struktur der Importdatei muß angepaßt sein
- es wird ein anderer Zeichensatz verwendet";
let antwortOptionen := ["Ja", "Nein"];
if dialog(titel, nachricht, antwortOptionen) = "Ja" then
    if 'Ablage Import CSV-Datei LV (UTF-8)' then
        let id := this.Nr;
        do as server
            "// Datum in Textform DD.MM.YYYY in Ninox-Datum umwandeln";
            function fx_TextToDate(vDate : text) do
                let vDay := number(substr(vDate, 0, 2));
                let vMonth := number(substr(vDate, 3, 2));
                let vYear := number(substr(vDate, 6, 4));
                date(vYear, vMonth, vDay)
end;
            "// Zahl in Textform in Zahl umwandeln";
            function fx_Zahl(vZahl : text) do
                number(replacex(vZahl, "[\,\.]", "."))
end;
            "// Hier startet die eigentliche Verarbeitung des CSV-Files";
            let myShareUrl := shareFile('Ablage Import CSV-Datei LV (UTF-8)');
            let response := http("get", myShareUrl);
            let myArray := split(text(response.result), "
");
            let CntmyArray := cnt(myArray);
            myArray := slice(myArray, 1, CntmyArray);
            "// Aus dem bereinigtem Array werden die Daten ausgelesen und als neue Records in der Zieltabelle erstellt ";
            delete Leistungsverzeichnis[Projekt = id];
            for i in myArray do
                let new := (create LV);
                let mynewArray := split(i, ";");
                new.(OZ := item(mynewArray, 0));
                new.('Kurz-Info' := item(mynewArray, 1));
                new.(Kurztext := item(mynewArray, 2));
                new.(ME := item(mynewArray, 3));
                new.(Einheitspreis := fx_Zahl(item(mynewArray, 4)));
                new.(Menge := fx_Zahl(item(mynewArray, 5)));

new.(Langtext := fx_Zahl(item(mynewArray, 6))); >>>>>>>>hier sind überlange Texte enthalten<<<<<<<<<<<

                new.(Projekt := id)
            end
        end
    end
end

Antwort

null

Content aside

  • vor 1 MonatZuletzt aktiv
  • 16Ansichten
  • 1 Folge bereits