Kombinationsfeld in verbindung mit einer Liste

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: Kombinationsfeld in verbindung mit einer Liste

Danke

von mike6 » Di, 03.08.2004 17:00

Hallo,

vielen Dank für die schnelle Antwort. :!:

Mfg
mike

von Stephan » Di, 03.08.2004 12:56

Das wußte ich garnicht.

Nun habe ich wohl einen wirklichen Grund um mir endlich Version 1.1.2 zu besorgen.

Gruß
Stephan

von Toxitom » Di, 03.08.2004 08:18

Hi Mike6,

die Lösung von Stephan ist die eine, - ok, zugegeben, man benötigt etwas Basic-Know-How. Und für Versionen bis 1.1.1 auch kaum anders lösbar.
Aber du hast doch Version 1.1.2?
Dort kannst du doch direkt eine Verbindung zu einem Tabellenbereich erstellen, aus dem die (Listen-) Einträge ausgelesen werden sowie eine Zelle bestimmen, in welche das Ergebnis (der selektierte Eintrag) eingetragen wird.
Hierzu rufst du das Eigenschafts-Menü des Kombinationsfeldes feldes auf, wählst den "Reiter" Daten und gibst in die erste Zeile (verknüpfte Zelle) die Zelladresse ein, in welche das Ergebnis der Wahl überttragen werden soll. Also zum Beispiel: A2 oder auch Tabelle2.a3 . In das Feld "Quellzellenbereich " kannst du jetzt die Adressrange eingeben, wo die Listeneinträge stehen. Also zum Beispiel C4:C9 , oder auch mit Tabellennamen vorweg.
Schon hast du dein gewünschtes Ergebnis - ganz ohne Programmierung.
Tia - manchmal gibt es schon echte Fortschrite.
Gruss
Thomas

von Stephan » Mo, 02.08.2004 19:55

Du müstest die Listeneinträge dynamisch in das Kombinationsfeld laden, hier ist ein Beispiel:

Code: Alles auswählen

Sub Load_Values_List()
Dim oDoc As Object
Dim oSheet As Object
Dim oForm As Object
Dim oComboBox As Object
Dim oCellRangeSource As Object
Dim aSourceDataArray()
Dim aDataArrayRow()
Dim aSource() As String
Dim I As Integer

	Set oDoc = ThisComponent
	'das Tabellenblatt wo das Kombinationsfeld ist
	Set oSheet = oDoc.Sheets.GetByName("Demo_En")
	Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
	'das Kombinationsfeld	
	Set oComboBox = oform.getByName("ComboBox1")
	'die einzutragenen Werte (hier stehen sie auf dem selben
	'Tabellenblatt, aber das muß nicht sein
	Set oCellRangeSource = oSheet.getCellRangeByName("B14:B20")
	
	'extract the data from the range
	aSourceDataArray() = oCellRangeSource.getDataArray()
	
	Redim Preserve aSource(UBound(aSourceDataArray())) As String

	'
	For I = LBound(aSource()) To UBound(aSource())
		aDataArrayRow()	= aSourceDataArray(I)
		aSource(I) = aDataArrayRow(0)
	Next I
	'hier werden die Werte an das Kombinationsfeld übergeben
	oComboBox.StringItemList = aSource()	


End Sub
Dieses Makro muß dem Ereignis "bei Fokuserhalt" des Kombinationsfelds zugeordnet werden.

Gruß
Stephan

Kombinationsfeld in verbindung mit einer Liste

von mike6 » Mo, 02.08.2004 18:34

Hallo,

ich habe eine Oo.org 1.1.2 (Calc) Tabelle mit 2 Blättern.

Auf dem Tabellenblatt 1 ist u.a. ein Kombinationsfeld.
Auf dem Tabellenblatt 2 ist eine Liste mit Ersatzteilen:

Wischergummi
Reifen
Heckscheibe usw.

Die Daten stehen alle untereinander. Nun möchte ich, das
ich im Kombinationsfeld auf dem Tabellenblatt 1 durch einfaches
anklicken einen Wert aus dem Tabellenblatt 2 übernehmen kann.

Mein Versuch die Daten aus dem Tabellenblatt 2 in die
Eigenschaften vom Kombinationsfeld unter Listen-Einträge einzutippen,
war zwar erfolgreich. Wenn ich aber das Kombinationsfeld in eine
andere Tabelle übernehmen möchte, werden die zuvor mühevoll
eingetippten Daten gelöscht.

MfG
mike6

Nach oben