Schaltfläche im Formular per Makro ändern

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

Moderator: Moderatoren

ulihueck
**
Beiträge: 23
Registriert: Mi, 12.11.2008 19:17

Schaltfläche im Formular per Makro ändern

Beitrag von ulihueck »

Hallo.
Ich möchte gern Schaltflächen in einem Formular dynamisch anpassen.
Dazu habe ich folgenden Code

Code: Alles auswählen

ub maxFrameEinnahmen()' automatisch jedem Button den akteullen Mieternamen zuordnen
  Dim oFrame as Object, oWindow,frame,document, dispatcher, oButton1 as Object
  oFrame = ThisComponent.CurrentController.Frame
  oWindow = oFrame.ContainerWindow()
  dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FullScreen" : args1(0).Value = true
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:FullScreen", "", 0, args1())
dim SQL as string
SQL="SELECT ""Mietverläufe"".""Verlaufs-ID"", ""Mietverläufe"".""Objekt-ID"", ""Mietverläufe"".""Mieter-ID"", ""Mieter & Pächter"".""Name"", ""Mieter & Pächter"".""Vorname"" FROM ""Mietverläufe"" AS ""Mietverläufe"", ""Mieter & Pächter"" AS ""Mieter & Pächter"" WHERE ""Mietverläufe"".""Mieter-ID"" = ""Mieter & Pächter"".""Mieter-ID"" AND ""Mietverläufe"".""Objekt-ID"" = 1 ORDER BY ""Mietverläufe"".""Verlaufs-ID"" ASC"
oDatabaseContext=CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource=oDatabaseContext.getbyName("Verwaltung")
oConnection=oDataSource.getConnection("", "")
oQuery= oConnection.createStatement()
oStatement   = oConnection.createStatement()
oResultSet   = oQuery.executeQuery(SQL)
'oStatement.ResultSetType=1004
while oResultSet.next
MieterName=oResultset.getString(4)
MieterVorname=oResultset.getString(5)
wend
Mietername= MieterName + ", " + MieterVorname
oButton1 = oFrame.getElementByName("Test1")
oButton1.Label =MieterName
End Sub
Ein Name wird per SQL ausgewählt und soll einer Schaltfläche zugerordnet werden.

Leider meldet BAsic bei
oButton1 = oFrame.getElementByName("Test1")
einen Fehler.

Weiß jemand Rat?

Schon jetzt danke für Eure Hilfe.
Grüße
Uli
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Schaltfläche im Formular per Makro ändern

Beitrag von komma4 »

Die Kontrollelemente liegen in einem (BASE-)Formular auf einer Drawpage.


Probier's mal damit

Code: Alles auswählen

oDok = ThisComponent
oForm = oDok.Drawpage.Forms.getByName( "MainForm" )
oFeld = oForm.getByName( "Test1" )
X-RAY ist Dein Freund... 8)


Kommst Du damit 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)
Antworten