❤ Unterstütze jetzt das LIBREOFFICE-Forum ❤

ICS-Datei aus SQL-Abfrage

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
bjoern.schreiter
Beiträge: 11
Registriert: So 19. Jan 2020, 00:04

Re: ICS-Datei aus SQL-Abfrage

Beitrag von bjoern.schreiter » Mi 22. Jan 2020, 08:14

Auch eine gute Idee, habe ich tatsächlich bis zur CSV-Kompatibilität auch gemacht. Könnte ich bzgl. Feldbenennung und Formatierung zunächst vorbereiten.
Dann muss ich aber wohl doch noch intensiver in die for-Schleife eingreifen...
Wäre schön gewesen, einfach die Quelladressen anzupassen und den Rest laufen zu lassen...

bjoern.schreiter
Beiträge: 11
Registriert: So 19. Jan 2020, 00:04

Re: ICS-Datei aus SQL-Abfrage

Beitrag von bjoern.schreiter » Sa 25. Jan 2020, 17:02

Leider bin ich an der nächsten Hürde angekommen:
Ich habe ein paar Variablen definiert:
DIM datumA AS STRING
DIM zeitA AS STRING
DIM datumE AS STRING
DIM zeitE AS STRING
DIM oStartDate AS OBJECT
DIM oSubject AS OBJECT
DIM oStartTime AS OBJECT
DIM ogridcontrol AS OBJECT
DIM oEndDate AS OBJECT
DIM oEndTime AS OBJECT
DIM oAllDayEvent AS OBJECT

Dann hole ich Daten aus dem Tabellen-Steuerelement, um sie weiter zu verarbeiten:
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Tabellendokument")
oForm.last
nRow = oform.getRow()
oForm.first
ogridcontrol = oForm.getbyName("Urlaubsuebersicht")
oSubject = ogridcontrol.getByName("Subject")
oStartDate = ogridcontrol.getByName("Start-Date")
oStartTime = ogridcontrol.getByName("Start-Time")
oEndDate = ogridcontrol.getByName("End-Date")
oEndTime = ogridcontrol.getByName("End-Time")
datumA= oStartDate.text
zeitA = oStartTime.text
datumE = oEndDate.text
zeitE = oEndTime.text
kurz=converttoutf8(oSubject.text)

Die Ausgabe der Variableninhalte von "kurz", "zeitA" und "zeitE" werden auch korrekt ausgegeben. Die von "datumA" und "datumE" leider nicht. Im Tabellen-Steuerelement sind es Datumsfelder. Sind die Variablen vom falschen Typ (ich habe Date, Integer, Long, String erfolglos probiert oder ist das Abholen mit ".text" verkehrt? Im Handbuch habe ich nichts anderes gefunden.

Gruß,

Björn

RobertG
Beiträge: 2092
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: ICS-Datei aus SQL-Abfrage

Beitrag von RobertG » Sa 25. Jan 2020, 17:19

Hallo Björn,

hast Du das Kapitel "Datumswert aus einem Formularwert in eine Datumsvariable umwandeln" im Kapitel "Makros" > "Bedienbarkeit verbessern" darauf überprüft?

Wenn Du "Text" ausliest, so hat das nichts mit dem tatsächlichen Wert des Feldes zu tun, sondern nur mit dem angezeigten Wert. Das ist dann natürlich keine Datumsvariable, mit der weiter gerechnet werden kann.

Willst Du mit der Datumsvariablen nicht rechnen, sondern den Inhalt nur irgendwo rein schreiben, dann ist für mich unklar, weshalb Du in dem Gridcontrol suchst. Schau einmal unter ... > "Datensätze lesen und benutzen" > "Mithilfe des Formulars".

Ich würde bei einer Speicherung über SQL alle Felder mittels
oForm.getString(1)
usw. abfragen. Dazu musst Du nur die Spaltenreihendfolge der Tabelle einhalten und bekommst überall die Inhalte in dem Format, in dem sie in der Datenbank gespeichert sind, Datumswerte also als '2020-01-25'.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

bjoern.schreiter
Beiträge: 11
Registriert: So 19. Jan 2020, 00:04

Re: ICS-Datei aus SQL-Abfrage

Beitrag von bjoern.schreiter » Sa 25. Jan 2020, 18:44

Das war der "Kniff", der noch fehlte. Jetzt werden alle Urlaube aus der Urlaubsplanung-Datenbank automatisch exportiert und dann in Kalenderprogramm importiert. Perfekt!
Danke für die Denkanstöße und entschuldige für's Dumm-anstellen.

Antworten