GELÖST Feldinhalt in Datenbank schreiben

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Reginald
****
Beiträge: 114
Registriert: Fr, 23.07.2010 23:58

GELÖST Feldinhalt in Datenbank schreiben

Beitrag von Reginald »

Hallo, hier etwas supereinfaches - für den, der es weiß ...

Ich habe in OOBase ein Formular, das mir Daten aus einer mysql Datenbank anzeigt.

Ich möchte in das Feld txtFirstname den Wert "Hans" hineinschreiben, wenn das Feld leer ist.

Also in der Art:

Code: Alles auswählen

if oForm.getByName("txtFirstname").text = "" then  oForm.getByName("txtFirstname") = "Hans"
Klappt prima, d. h. ich sehe dann den Wert Hans im Formular, aber es wird nicht im aktuellen Datensatzabgespeichert.

Was muß ich dazu noch tun?

Danke,
R
Zuletzt geändert von Reginald am So, 17.11.2013 01:00, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Feldinhalt in Datenbank schreiben

Beitrag von F3K Total »

Code: Alles auswählen

oForm.getByName("txtFirstname").commit = true
R
Reginald
****
Beiträge: 114
Registriert: Fr, 23.07.2010 23:58

Re: Feldinhalt in Datenbank schreiben

Beitrag von Reginald »

Hallo,

nicht ganz. Die Syntax lautet:

Code: Alles auswählen

oForm.getByName("txtFirstname").commit(true)
oder

Code: Alles auswählen

oForm.getByName("txtFirstname").commit()
Der Hinweis mit dem commit war aber der entscheidende Punkt. Das wirkt wohl wie die ENTER Taste.

Damit ist das Formular aber noch nicht gespeichert. Der Schritt fehlt dann noch. Habe etwas gesucht aber nichts Intelligentes gefunden und dann einfach mit dem Makrorecorder in Base dieses Makro hier aufgenommen und an den Code drangehängt. Das speichert dann auch noch das Formular:

Code: Alles auswählen

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:RecSave", "", 0, Array())
Ich muß gestehen, dass ich keine Ahnung habe, was das alles bedeutet - aber es funktioniert.

Grüße,
R
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: GELÖST Feldinhalt in Datenbank schreiben

Beitrag von F3K Total »

Moin,
Reginald hat geschrieben:Damit ist das Formular aber noch nicht gespeichert
Zum Schreiben der aktuellen Zeile:

Code: Alles auswählen

if oform.isnew then oform.insertrow else oform.updaterow
Gruß R
Antworten