Seite 1 von 1

Zahlenformat

Verfasst: Mi 13. Mär 2013, 20:14
von paulderfinne
Habe nun ach ...
In Base Abfragen erstellt und dabei ein berechnetes Feld mit Nachkommastellen. Base stellt es mir im Amerikanische Format (#.##) dar. Wennich das nun über den Datepiloten in Clac übernehmen will, glaubt dieser Teil es handelt sich um Strings, da hier ja das Zahlenformat deutsch ist (#,##) und jetzt lässt sich damit gar nicht rechen. Kann ich da in der SQL-Abfrage was tricksen?

Die Datenbank läuft unter MySQL 5

Hat jemand eine Idee?

Re: Zahlenformat

Verfasst: Mi 13. Mär 2013, 21:38
von RobertG
Hallo paulderfinne,

wie holst Du die Daten nach Calc rüber? Wenn es sich um die Darstellung in einer Abfrage handelt - die richtet sich nach der Sprache. Stelle die Sprache für die Spalte der Abfrage auf Deutsch ein.

Auch die Daten der internen Datenbank laufen mit dem Punkt als Dezimaltrenner. Das Komma ist nur eine Umformatierung aus der GUI.

Gruß

Robert

Re: Zahlenformat

Verfasst: Mi 13. Mär 2013, 22:04
von paulderfinne
Danke für die Mühen Robert.
RobertG hat geschrieben:wie holst Du die Daten nach Calc rüber?
mit dem Datenpiloten
RobertG hat geschrieben:Stelle die Sprache für die Spalte der Abfrage auf Deutsch ein.
Wie geht das denn? Zelle formatieren und auf #.###,00 stellen, geht nicht.
Liegt es vielleicht daran, dass ich englische locales habe?
Gibt es einen anderen Weg, die Daten aus der Datenbank zu holen, außer mit dem Datenpiloten?
Mit nem Makro?

Re: Zahlenformat

Verfasst: Mi 13. Mär 2013, 22:25
von RobertG
Hallo paulderfinne,

ich nehme an, dass das an den englischen Localeinstellungen liegt.
Ich habe noch nie mit dem Datenpiloten gearbeitet. Ich brauche Calc nur sehr selten. Aber vom Prinzip geht der Import auf die verschiedenesten Weisen, z.B. über den Datenquellenbrowser mit einfachem Reinziehen in die Tabellenkalkulation, über die Zwischenablage mit einem rechten Mausklick (Tabelle bzw. Abfrage kopieren) - ist im Handbuch in Kapitel 7 beschrieben. Das alleinige Kapitel 7 erhältst Du hier: https://wiki.documentfoundation.org/ima ... ng_V40.pdf

Gruß

Robert

Re: Zahlenformat

Verfasst: Do 14. Mär 2013, 06:55
von paulderfinne
Danke Robert für deine Hinweise. Meine Idee war, dass ein von mir unabhängiger User Daten aus Base in Calc bekommt. Automatosch sozusagen. Werde es wohl mit Macros in versuchen. Ist wohl das sicherste. Der Datenpilot mach ja doch nicht das was ich will.

Re: Zahlenformat

Verfasst: Do 14. Mär 2013, 07:32
von RobertG
Hallo paulderfinne,

Du kannst das Ganze doch über einen Bericht lösen - wenn Du die Daten nur in eine Calc-Datei haben willst, also nicht an eine bestimmte Steller einer vorher existierenden Datei. Berichte werden ja gegebenenfalls auch nach Calc hin erstellt, nicht nur als Writer-Dokument. Damit habe ich jahrelang die Adressdaten eines Sportvereins exportiert, die eine andere Person dann für den Etikettendruck benötigte.

Gruß

Robert

Re: Zahlenformat

Verfasst: Do 14. Mär 2013, 13:06
von gogo
Hallo plauderfinne!

Im Anhang eine Extension für den Export von Daten aus Base nach Calc ... one klick.

Zur Anwendung:

1. die Extension installieren
2. Es gibt 2 wesentliche Makros die interessant sind:
  • TOOL_SQLToCalc
    Dieses Makro einem Button (in einem Formular das in einer Base-Datei gespeichert ist) zuordnen.
    Beim Klick auf den Button wirst Du gefragt wie das Calc-Tabellenblatt heissen soll (da kannst du einfach auf OK klicken), und dann kommt eine Inputbox mit einem SQL-Statement. Da einfach das reinkopieren was Du haben möchtest (z.B.: Select * from Tabelle1;) und ok --- schon sollte sich ein Calc Dokument öffnen das die Daten beinhaltet. Zur Formatierung der Daten wird die Formatierung der zugrundeliegenden Tabellen verwendet.
  • TOOL_Formdaten_als_CSV_exportieren
    Dieses Makro einem Button (in einem Formular das in einer Base-Datei gespeichert ist) zuordnen, wobei das Formular Daten beinhalten sollte. Die Datenherkunft des Formulars muss glaub' ich "SQL" sein (hab's nie anders getestet...)
    Beim Klick auf den Button sollte sich ein Calc Dokument öffnen das die aktuell im Formular befindlichen Daten beinhaltet. es wird auch versucht den aktuellen Filter anzuwenden, das funktioniert aber nicht immer, weil die Zusammensetzung des Filters durch einen LO-eigenen Parser entsetht, der nicht immer eindeutig verweist. Probleme gibt es eventuell mit unklaren SQL-Anweisungen (d.h. wenn oft das "*" verwendet wird).
    Zur Formatierung der Daten wird vorzugsweise die Formatierung von evtentuell vorhandenen Kontrollelementen* im Formular verwendet, ansonsten die Formatierung der zugrundeliegenden Tabellen - wenn gar nichts gefunden werden kann werden die Daten einfach als String exportiert.

    Der Button bezieht sich immer auf das Formular-Objekt in dem er sich befindet (oEvent.Source.Model.Parent) - wenn man Ihn im Formularnavigator verschiebt, dann wechselt auch der Dateninhalt des Ausdrucks...
Falls der übergebende SQL-String ungültig ist, kannst Du das noch manuell korrigieren, der Fehler sollte abgefangen werden, diese Funktionalität gibt's erst seit gestern ... d.h. ich hab' keine Ahnung ob es bei Dir auch funktioniert ;)
TOOL_SQLToCalc hab ich bnoch nie bei einer Base-DB probiert, sollte aber funktionieren - Achte hier auf Groß- und Kleinschreibung in den Strings:

Code: Alles auswählen

Select * from "Lager2" <> Select * from "lager2"
Wenn das Statement auch als Abfrage in Deiner Datenbank funktioniert, sollte es auch in der Extension gehen!

(*): Ich glaube es werden alle Kontrollelemente abgeklappert, die die nicht in einem Tabellen-Kontrollelement sind UND auch die Spalten von Tabellen-Kontrollelementen. Sollte ein Feld mehrfach angezeigt werden, wird es nur ein Mal in der Calc-Datei dargestellt ... mit der Formatierung die zuerst gefunden wird ... glaube ich ;)