Seite 1 von 1

Formularfeld via Makro befüllen

Verfasst: Mo, 03.02.2014 15:11
von Twelve0fNine
Hi, habe folgendes Problem:
Ich habe ein Formular für ein Fax mit mehreren Feldern. Wenn der jenige der dieses Fax ausfüllt nun in einem dieser Formularfelder seinen Namen ausfüllt sollen alle anderen Felder die sich auf ihn Beziehen, wie z.B. "Abteilung" sich automatisch befüllen.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Main
	Dim sPartner, Testtext As string
	Dim Context, DB, Connection, QueryErg As Object
	Dim DBName, sSQL As String
	Dim Statement As Variant
End Sub

Sub Macro1

    sPartner = ThisComponent.DrawPage.Forms.getByIndex(0).getByName("ComboBox")
	
    DBName = "KR-DATA"
    Context = createUnoService("com.sun.star.sdb.DatabaseContext")
    DB = Context.GetByName (DBName)
    Connection = DB.GetConnection ("","")
    sSql = "SELECT `Abt` FROM `Mitarbeiter` WHERE `Gesprächspartner` = '"+sPartner.text+"';"    
    Statement = Connection.CreateStatement
    QueryErg = Statement.ExecuteQuery(sSql)
    Testtext = QueryErg.GetString(1)
    'ThisComponent.DrawPage.Forms.getByIndex(0).getByName("Textfeld 1").text = QueryErg.GetString(1)
    
    Connection.Close()
End Sub
aber leider funzt es nicht ... habt ihr ne Idee wo mein Fehler liegt? Dieses Makro wird gestartet nach Auswahl eines Eintages im Feld "Gesprächspartner" (ComboBox) ... die SQL-Abfrage ist richtig ... nur ab da komme ich nicht weiter

Re: Formularfeld via Makro befüllen

Verfasst: Mo, 03.02.2014 17:10
von F3K Total
Hi,
warum schreibst Du eine Makro Frage im WRITER-Forum?
Versuche es mal so:

Code: Alles auswählen

    if QueryErg.next then Testtext = QueryErg.GetString(1)
    ThisComponent.DrawPage.Forms.getByIndex(0).getByName("Textfeld 1").text = Testtext 
Gruß R