ooBase -Daten aus einem Datumsfeld auslesen, korrekte Währung abspeichern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Toxitom
********
Beiträge: 3670
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: ooBase -Daten aus einem Datumsfeld auslesen, korrekte Währung abspeichern

Beitrag von Toxitom » So, 15.03.2020 16:41

Hallo Werner,

tia... programmieren ist nicht immer so einfach ;)

Hab mir mal den kompletten Tread im Detail durchgelesen - wenn ich das richtig sehe, arbeitest Du mit AOO 4.x?

Tia, dann geht es nicht. Die Funktion "cDateToUnoDate()" gibt es erst seit LO 5.... da wurden interne Date-Variablen von der ISO-Darstellung auf den UNO-Typ umgestellt.
Also sorry, vergass zu erwähnen, dass meine Ideen nur für LO gelten.

Wenn Dein String aber auch nicht passt - gibt es vielleicht kein "BoundField"? Oder "oFeld" ist nicht definiert?

Lade Dir einen Objektinspektor (z.B. xray oder mri) und fange an, die Details der Objekte zu verstehen und zu analysieren. Sonst bleibt das hier einfach ein Blick in die Glaskugel....

VG
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Frewer
**
Beiträge: 29
Registriert: Do, 05.03.2020 16:10

Re: ooBase -Daten aus einem Datumsfeld auslesen, korrekte Währung abspeichern

Beitrag von Frewer » Di, 17.03.2020 10:13

Hallo,
ich habe nach vielen Versuchen jetzt das Datum im Formular. Das Hauptproblem war wahrscheinlich, dass ich den Punkt nicht komplett beschrieben hatte. Ich habe ein Formular mit einem Kontrollfeld "fDatum", diesem Kontrollfeld ist kein Datenfeld aus der Tabelle zugeordnet. Dann funktioniert offenbar der Befehl "oFeld.BoundField.Update(unoDate)" nicht sondern nur der Befehl "oFeld.commit()". Dann habe ich dem Kontrollfeld unter Daten ein Datumsfeld der Tabelle zugeordnet, dann kann ich das Datum mit Update() in die Tabelle schreiben.
Nun kann es sein, dass ich für diese Vorgehensweise nur den 2ten Teil benötige und das commit() nicht brauche aber zum Studieren ist die Erkenntnis schon ganz gut gewesen.

Gruß bis zum nächsten Problem
Werner

Anbei meine Lösung:

SUB Datum_Heute
DIM unoDate AS NEW com.sun.star.util.Date
DIM strName AS LONG
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Abrechnung_BH")
oFeld = oForm.getByName("fDatum")
REM heutiges Datum in Kontrollfeld schreiben
oFeld.Text=Format(NOW(),"dd.mm.yyyy")
oFeld.commit() 'damit wird in das Kontrollfeld geschrieben
REM jetzt das heutige Datum in die Datenbank schreiben
REM dazu muss aber zunächst der Datensatz gesucht werden in den
REM geschrieben werden soll
oForm.last 'zur letzten Zeile der Tabelle gehen
unoDate.Year = Year(Date)
unoDate.Month = Month(Date)
unoDate.Day = Day(Date)
oFeld.BoundField.UpdateDate(unoDate)
oForm.UpdateRow()
END SUB

Frewer
**
Beiträge: 29
Registriert: Do, 05.03.2020 16:10

Re: ooBase -Daten aus einem Datumsfeld auslesen, korrekte Währung abspeichern

Beitrag von Frewer » Di, 17.03.2020 13:23

Hallo Tom,
sorry, dass ich auf Deine Erklärung zum Thema Version von OO nicht eingegangen bin (auch das Lesen in der OO.info Datenbank ist schwierig-war immer auf Seite 1).
Ja ich habe OO 4.1.3 und das, weil ich eben noch mit meinem WIN XP Betriebssystem arbeite, das mir bei meinen elektronischen Entwicklungen und den entsprechenden Programmen, die noch bestens funktionieren aber nicht auf neuere Systeme portierbar sind. Habe LO probiert, geht nicht.
Zum Glück habe ich ja jetzt eine lösung gefunden, die ich oben dargestellt habe. Das funktioniert auch prima jetzt. Dennoch das Programmieren in starBasic scheint erheblich schwieriger zu sein als bei Access. Dort lief meine Datenbank ohne Probleme, doch kann ich die diversen Macros leider nicht benutzen.
Nun gleich noch eine Frage: Was ist xray und wie komme ich daran und läuft das auch mit WIN XP?

Gruß
Werner

Antworten