Seite 1 von 1

GELÖST Feldinhalt in Datenbank schreiben

Verfasst: Do, 14.11.2013 01:06
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

Re: Feldinhalt in Datenbank schreiben

Verfasst: Do, 14.11.2013 06:48
von F3K Total

Code: Alles auswählen

oForm.getByName("txtFirstname").commit = true
R

Re: Feldinhalt in Datenbank schreiben

Verfasst: So, 17.11.2013 00:57
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

Re: GELÖST Feldinhalt in Datenbank schreiben

Verfasst: So, 17.11.2013 01:50
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