Feldbefehl, Format und csv Datenquelle
Moderator: Moderatoren
Feldbefehl, Format und csv Datenquelle
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
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
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".
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".
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.
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 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.
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)
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)
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
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