Feldbefehl, Format und csv Datenquelle

Das Textverarbeitungsprogramm

Moderator: Moderatoren

eric
**
Beiträge: 22
Registriert: Mi, 08.02.2006 12:01

Feldbefehl, Format und csv Datenquelle

Beitrag von eric »

Hallo,
ich habe eine csv-Datei als Datenquelle eingebunden. Das File enthält u. a. eine Spalte mit zehnstelligen Nummern im Bereich von 1 bis 250, so daß ein Wert 200 mit sieben führenden Nullen dargestellt wird. Ich möchte gern die angezeigten Werte vierstellig darstellen, kann aber weder das Format in der Datenbank- noch in der Writer-Ansicht verändern. Es jeweils wird das Format "Text @" angezeigt.
Gibt es einen Trick, z. B. per Definition einer Hilfsvariable und wie gehts am Besten?
Danke.
Gruß Eric
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Soweit ich Base verstehe, werden alle Spalten einer CSV-Datei als Textspalten gewertet, ohne weitere Einflussmöglichkeit.
Ein Umweg könnte sein:
Du erstellst zunächst eine sCalc-Datei. Dahinein verknüpftst Du die CSV-Datei via:
Einfügen/Tabelle:aus Datei (verknüpfen). Im Filter-Dialog achtest Du darauf, dass diese Spalte als "Standard" und nicht als "Text" deklariert wird.
Bei der Erstellung der Base-Datei beziehst Du Dich dann auf diese sCalc-Tabelle.
Nun lässt sich diese Spalte in der Datenquellenansicht beliebig formatieren.
Was ich noch nicht fertig getestet habe (gehe aber davon aus, dass das klappen müsste):
wenn die csv-Datei sich ändert, ob das bis zur Datenquelle "durchschlägt".
eric
**
Beiträge: 22
Registriert: Mi, 08.02.2006 12:01

Beitrag von eric »

Hallo Lenu,
vielen Dank für die Hilfe. Ich werde es über den Umweg probieren.
Gruß eric
eric
**
Beiträge: 22
Registriert: Mi, 08.02.2006 12:01

Beitrag von eric »

Hallo,
hatte mich Gestern in der Lösung probiert, jedoch ohne durchschlagenden Erfolg. Hatte zunächst das csv-File in eine Calc-Tabelle importiert und diese dann als Datenbank angemeldet. In der Datenbank-Ansicht läßt sich das format anpassen. Wird das entsprechende Feld als Feld im Writer importiert, so geht genau diese Formatierung wieder verloren. Zudem hat die Lösung den Nachteil, dass Änderungen des csv-Files jeweils einen neuen Import in die Calc-Tabelle erfordern. In der summe ist das noch nicht der weisheit letzter Schluß. Die Suche nach Lösungen geht weiter.
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

eric hat geschrieben:Hallo,
hatte mich Gestern in der Lösung probiert, jedoch ohne durchschlagenden Erfolg. Hatte zunächst das csv-File in eine Calc-Tabelle importiert und diese dann als Datenbank angemeldet. In der Datenbank-Ansicht läßt sich das format anpassen. Wird das entsprechende Feld als Feld im Writer importiert, so geht genau diese Formatierung wieder verloren. Zudem hat die Lösung den Nachteil, dass Änderungen des csv-Files jeweils einen neuen Import in die Calc-Tabelle erfordern. In der summe ist das noch nicht der weisheit letzter Schluß. Die Suche nach Lösungen geht weiter.
Zusammen mit dem writer habe ich das noch nicht probiert, wenn da das Format nicht mitmacht, habe ich im Moment auch keine weitere Idee. Aber ein erneuter Import sollte eigentlich nicht nötig sein, wenn Du beim Einfügen der Tabelle die Option "verknüpfen" aktiviert hast.
eric
**
Beiträge: 22
Registriert: Mi, 08.02.2006 12:01

Beitrag von eric »

Hallo Lenu,
Danke.
Ich werde mich weiter probieren. :-)
Gruß eric
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Du hast recht: Die Aktualisierung der Base-Datei funktioniert nicht automatisch. Man muss die Calc-Datei neu laden und aktualisieren lassen. Und auch für das Zahlenformat im Writer fällt mir nichts ein
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Ich habe auch noch ein wenig probiert. Viel ist es nicht geworden, aber solange wir nichts Besseres finden:
In der Datenquellenansicht muss das Feld ein Zahlenfeld sein, Format nebensächlich, da vom writer sowieso nicht beachtet.
Bleibt also im Moment nur die Variante mit dem Umweg über das Calc-Dokument, das Du halt jeweils neu laden musst.

Im writer fügst Du vor das Feld mit der Nummer mehrere Feldbefehle "Bedingter Text" (ohne Leerzeichen dazwischen) ein:

1. Feldbefehl:
Bedingung: Spalte2<10
Dann: "000"

2. Feldbefehl:
Bedingung: (Spalte2>=10) AND (Spalte2<100)
Dann: "00"

3. Feldbefehl:
Bedingung: (Spalte2>=100) AND (Spalte2<1000)
Dann: "0"

"Spalte2" ist mein Beispiel-Spaltentitel

Ich habs in 1.1.4 probiert. Ob in 2.0 die Schreibweise so akzeptiert wird, weiss ich nicht. Allenfalls musst Du den vollständigen Feldnamen nehmen, dann aber in eckige Klammern setzen:
([Datenquelle.Tabelle.Spalte2]>=100) AND ([Datenquelle.Tabelle.Spalte2]<1000)
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Ich habs gefunden:
Mit einer Base-Datenquelle, die sich direkt auf das CSV-File bezieht, also ohne Umweg.
Du fügst nicht das Feld aus der Datenquelle ein, sondern legst im Dokument eine Variable an (Einfügen/Feldbefehl/Variablen/Variable setzen). Bei der stellst Du unter "Format" die gewünschten führenden Nullen ein und bei "Wert" schreibst Du einfach den Namen des Datenbank-Feldes. Bei mir hat es direkt geklappt, ohne Datenquellen- und Tabellennamen und ohne eckige Klammern, einfach: Spalte2
eric
**
Beiträge: 22
Registriert: Mi, 08.02.2006 12:01

Beitrag von eric »

Hallo Lenu,
genial, genau das was suchte.
Vielen Dank.
Gruß Eric
Antworten