[Gelöst] Option Feld mit leerer Option importieren

3. Januar 2008 16:40

Hallo ich habe einen Dataport, der mir ein Option Feld exportiert.

Der OptionString sieht so aus: "Wert1,Wert2,Wert3, ".

In der exportierten Datei sieht das auch gut aus. Wenn ich die Datei jetzt importiere, schreibt der Dataport mir überall wo der Option String in der Datei leer ist Wert1 in die Tabelle.

Im OnBeforeImportRecord Trigger habe ich schon mit Option := Option::"" versucht, in den Dataport Properties mit und ohne Delimiter nichts hat geholfen.

Funktioniert das irgendwie?
Zuletzt geändert von Drexel am 25. Februar 2008 09:35, insgesamt 1-mal geändert.

3. Januar 2008 17:19

Es gibt keinen Optionswert leer, es sei denn, du hast einen leeren Option-Teilstring definiert.
So ergibt z.B.
Code:
 ,Wert 1,Wert 2

die Optionswerte <leer>, "Wert 1", "Wert 2".

Wie hast du denn deinen OptionString definiert?

3. Januar 2008 17:25

Hallo Drexel,
wie sieht denn die OptionCaption aus? ist da auch ein Leerstring definiert?
Der Optionstring bei Dir ist allerdings auch ungeschickt angelegt.
Normalerweise wird die erste Option mit dem Leerstring belegt, wie Natalie in ihrem Beispiel ausgeführt hat, so dass in einem neuen Datensatz das Feld immer erst mal leer ist, weil die erste Option der Defaultwert ist.

4. Januar 2008 08:53

Hallo,

danke Euch beiden schonmal.

Natalie, der Optionstring steht oben und der letzte Wert ist ein Leerzeichen ja.

Michael, sowas in der Art habe ich mir schon gedacht, aber der Option String ist halt so in einer vorhandenen Datenbank definiert da kann ich nicht viel dran ändern. Die OptionCaption ist undefined.

Ich habe das jetzt folgendermaßen gelöst: Ich habe die Daten erstmal in eine andere Tabelle importiert und aus der Option habe ich vorher einen Text gemacht, so dass immer der Text in das Feld eingetragen wird. Dann habe ich über einen Report die Werte in die eigentlich Tabelle schreiben lassen und über eine IF Abfrage die Option eintragen lassen:

Code:
IF Importtabelle.optiontext = '' THEN BEGIN
  Zieltabelle.VALIDATE (Zieltabelle.Option, Zieltabelle.Option::" ");
  Zieltabelle.MODIFY;
END;
USW. für die anderen Werte

4. Januar 2008 09:12

Ja, das sieht doch gut aus :-)