OOo Version?
Ist das wirklich eine Combobox?
combobox in sheet per makro füllen
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: combobox in sheet per makro füllen
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)
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)
-
- **
- Beiträge: 34
- Registriert: Fr, 06.11.2009 05:49
Re: combobox in sheet per makro füllen
Versuch es doch mal so:
Peter
Code: Alles auswählen
oComboBox = Doc.CurrentController.getControl(Form.getByName("Name_combobox"))
Re: combobox in sheet per makro füllen
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:
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
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
Aloha
Wenn Du die Combobox über eine Datenbankanbindung speisst, kannst Du den Inhalt folgendermaßen festlegen (angenommen, x ist die ausgelesene Variable aus dem Dialog)
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
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