combobox in sheet per makro füllen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: combobox in sheet per makro füllen

Re: combobox in sheet per makro füllen

von DPunch » Do, 27.01.2011 09:59

Aloha
hoffie hat geschrieben:Eigentlich wäre mir aber die Sache mit dem addItem und removeItem zunächst wichitger :)

Code: Alles auswählen

(...)
Do while ResultSet.Next
i= i+1
s  = Resultset.getString(1) '&'Chr(13)
Msgbox s
oComboBox1 = oElementView '<---------------------------!
oComboBox1.removeItems(i-1, 5)
'oComboBox1.removeItems(i-1, oComboBox1.getItemCount())  'schränkt ein wie viele gespeichert werden         
oComboBox1.addItem(s,-1) ' beeinflusst ab was für einem Datensatz gespeichert wird
Loop
end if
end sub
Wenn Du die Combobox über eine Datenbankanbindung speisst, kannst Du den Inhalt folgendermaßen festlegen (angenommen, x ist die ausgelesene Variable aus dem Dialog)

Code: Alles auswählen

oDoc = thisComponent
oDocCtl = oDoc.getCurrentController()
oSheet = oDoc.sheets.GetByName ("Weight 2")
oDraw = oSheet.drawpage
oForm = oDraw.getForms.GetByName("Formular1")
oElement = oForm.getByName("ComboBox1")
oElement.ListSource = "SELECT `FL`FROM `mysql`.`weight` WHERE `ID1` = " & x

Re: combobox in sheet per makro füllen

von hoffie » Mo, 24.01.2011 14:06

Hallo,
würde gerne die Frage von hvghzgu5 moch mal aufgreifen. Bei mir liegt, denke ich dass gleiche Problem vor. Bei dem Versuch eine List oder Combobox per Makro zu befüllen bekomme ich immer die Fehelrmeldung: "Methode oder Eigenschaft nicht gefunden: removeItems." Mein verwendeter Code:

Code: Alles auswählen

Sub FL_Fuellen
Dim oDoc as Object
Dim oDocCtl as Object
Dim oSheet as Object
Dim oDraw as Object
Dim oForm as Object
Dim oElement as Object
Dim oElementView as Object
Dim s

oDoc = thisComponent
oDocCtl = oDoc.getCurrentController()
oSheet = oDoc.sheets.GetByName ("Weight 2")
oDraw = oSheet.drawpage
oForm = oDraw.getForms.GetByName("Formular1")
oElement = oForm.getByName("ComboBox1")
oElementView = oDocCtl.getControl(oElement)
'MsgBox oElementView.dbg_properties
oCombobox1 = oElement
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Neue Datenbank5.1")
Connection = DataSource.GetConnection("","")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("SELECT DISTINCT FR FROM Weight2")
i=0
If not isNull (ResultSet) then
Do while ResultSet.Next 
i= i+1
s  = Resultset.getString(1) '&'Chr(13)
Msgbox s
oComboBox1 = oElement
oComboBox1.removeItems(i-1, 5)
'oComboBox1.removeItems(i-1, oComboBox1.getItemCount())  'schränkt ein wie viele gespeichert werden          
oComboBox1.addItem(s,-1) ' beeinflusst ab was für einem Datensatz gespeichert wird
Loop
end if
end sub


Generell möchte ich einzelne Werte aus Tabellen einer Datenbank ausgeben. Hierzu wird zunächst mit Hilfe eines Dialoges ein Parameter bestimmt, der dann später bei einer SQL Abfrage in der WHERE Bedingung verwendet werden soll. Deshalb ist es mir nur möglich die Boxen mittels Makro zu füllen und nicht die "normale" Verbingund über deren eigenschaften herzustellen, da ich dort nicht weiß wie eine Variable, die ich aus einem Dialog ausgelsen habe, in den SQL Befehl einbauen soll. Falls das irgendwie funktioniert wäre das für mich auch sehr hilfreich. Meine Befehl lautet heirzu lautet bis jetzt:
SELECT `FL`FROM `mysql`.`weight` WHERE `ID1` = 2
Ich müsste also 2 durch die Auswahl aus dem Dialog ersetzten........????

Eigentlich wäre mir aber die Sache mit dem addItem und removeItem zunächst wichitger :)

Ich benutzte OO3.2 unter windows 7. Die Verbingungen zu Datenbank und dieAnsteuerung von Boxen in meinem dialog funktionieren einwandfrei!
Vielen Dank schon mal für euere Hilfe
Gruß hoffie

Re: combobox in sheet per makro füllen

von peterschleif » Di, 23.02.2010 00:45

Versuch es doch mal so:

Code: Alles auswählen

    oComboBox = Doc.CurrentController.getControl(Form.getByName("Name_combobox"))
Peter

Re: combobox in sheet per makro füllen

von komma4 » So, 14.02.2010 18:31

OOo Version?
Ist das wirklich eine Combobox?

Nach oben