[geloest] Textfeld aus einem Datenbankformular auslesen

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

Moderator: Moderatoren

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

[geloest] Textfeld aus einem Datenbankformular auslesen

Beitrag von Wolf »

Hallo,

Ich arbeite mit OpenOffice 2.0.4 unter Linux.

Mein Problem:
Ich erstelle mit dem Formularassistent eine Formular fuer eine Datenbank.
Nun will ich zum Beispiel aus dem Textfeld "txtFileName" welches der Assistent automatisch erzeugte und diesen Namen entsprechend des Datenfeldnamen keierte den Inhalt per Makro auslesen.
In der Dokumentation zum StarBasic fand ich u.a.:

Code: Alles auswählen

Dim Doc As Object
Dim TextFieldEnum As Object
Dim TextField As Object
Dim I As Integer

Doc = StarDesktop.CurrentComponent
TextFieldEnum = Doc.getTextFields.createEnumeration
.
.

Und hier klemmt bereits die Saege, da es die Eigenschaft "getTextFields" gar nicht gibt. Habe mit

Code: Alles auswählen

Dim sText as String
sText =Doc.dbg_Methods

Rem sText nun in eine Datei speichern
...
alle Methoden des Objectes ausgelesen, aber die im StarOffice 7 oder auch im StarOffice 8 Programmierhandbuch beschriebene Eigenschaft oder Methode gibt es nicht.

Wie komme ich aber nun an den Inhalt dieses Textfeldes heran?
Hat da schon jemand Erfahrung gesammelt?

Dank euch.

Wolf
Zuletzt geändert von Wolf am Sa, 04.10.2008 23:19, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Textfeld aus einem Datenbankformular auslesen

Beitrag von komma4 »

Du verwendest Code für Textfelder in einer Writer- oder Calc-Datei.

Und: Deine Version 2.0.4 ist schon ziemlich alt... Ob da alle aktuellen BASE-Beispiele laufen, kann Dir wahrscheinlich keiner sagen.

Hole Dir mal Andrews Base-Dokument
und: XRay

Code: Alles auswählen

oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0)
oFeld = oForm.getByName( "txtFileName" )
xray oFeld
Hilft das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: Textfeld aus einem Datenbankformular auslesen

Beitrag von Wolf »

komma4 hat geschrieben:...

Code: Alles auswählen

oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0)
oFeld = oForm.getByName( "txtFileName" )
xray oFeld
Hilft das weiter?
Danke, das hilft.
Der Link mit xray fuehrt bei mir ins "nichts", aber macht nichts. Meine Loesung:

Code: Alles auswählen

dim oDoc as Object
dim oForm as Object
dim oFeld as Object
dim sText as string

oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0)
oFeld = oForm.getByName( "txtFileName" )

sText=oFeld.Text ' lesend auf das Textfeld zugreifen
oFeld.Text=sText ' schreibend auf das Textfeld zugreifen
Danke recht herzlich. :D

Wolf
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Textfeld aus einem Datenbankformular auslesen

Beitrag von komma4 »

Wolf hat geschrieben:Der Link mit xray fuehrt bei mir ins "nichts",
Ja, die (gesamte) Seite ist derzeit nicht erreichbar.
Versuche es "die Tage" am Besten noch mal: das Teil ist bei der Entwicklung Gold wert.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: Textfeld aus einem Datenbankformular auslesen

Beitrag von Wolf »

komma4 hat geschrieben:
Wolf hat geschrieben:Der Link mit xray fuehrt bei mir ins "nichts",
Ja, die (gesamte) Seite ist derzeit nicht erreichbar.
Versuche es "die Tage" am Besten noch mal: das Teil ist bei der Entwicklung Gold wert.
Was anderes, Du hast OOffice 2.4.1.
Hatte das heute heruntergeladen (fuer Linux mit JRE) und installiert. am Ende kam ein Fehler dass das Office nicht richtig installiert wurde.
Es lief zwar, wurde aber nicht richtig ins System eingebeunden.
Unter Details konnte ich sehen, welche pakete nicht installiert wurden. Alles diese optionalen Komponenten.
Muss ich vor der Installation erst das alte office deinstallieren?

Wolf
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: [geloest] Textfeld aus einem Datenbankformular auslesen

Beitrag von komma4 »

Nein, Du musst nichts deinstallieren.

Welche Pakete wurden nicht eingebunden? Desktop-Integration?
Du hast RPMs verwendet?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: [geloest] Textfeld aus einem Datenbankformular auslesen

Beitrag von Wolf »

komma4 hat geschrieben:Nein, Du musst nichts deinstallieren.

Welche Pakete wurden nicht eingebunden? Desktop-Integration?
Du hast RPMs verwendet?
U.A. wie ich gesehen habe, auch die Desktop integration.
Die installation erfolgte per install script, welches aber mit rpm's arbeitet.

Wolf
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: [geloest] Textfeld aus einem Datenbankformular auslesen

Beitrag von Wolf »

OOo User hat geschrieben:Folgende Links sollten funktionieren:

Link xray-Info

Download xray

Download Software Development Kit (SDK)
Auch Danke fuer deinen Tipp.
Die Links fuehren zum Ziel.

Wolf
Antworten