🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

ICS-Datei aus SQL-Abfrage

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
bjoern.schreiter
Beiträge: 26
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: 26
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
* LO-Experte *
Beiträge: 2884
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: 26
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.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten