Seite 1 von 1

[GELÖST] Ungebundenes Textfeld: Inhalt löschen

Verfasst: Sa 31. Mai 2014, 07:17
von teuff
Hallo!
Ich hänge schon eine Zeitlang an folgendem Problem mit einem LibreOffice Basic Makro:
In einem Formular mit lauter ungebundenen Textfeldern habe ich 4 davon zur variablen Suche in der Datenbank (einzeln und kombiniert in verschiedenen Datenbankfeldern) und eines zur Anzeige der gefundenen Datensätze. Mit einer Schaltfläche möchte ich alle Inhalte der Textfelder zugleich löschen. Das funktioniert aber nur mit dem Anzeigefeld, in das über eine andere Prozedur geschrieben habe. Das wird durch den Leerstring wie geplant ersetzt. Wenn der Textfeld aber manuell ausgefüllt wird (in diesem Fall die Suchbegriffe in den Feldern Such1 bis Such4), bleibt der Inhalt erhalten. Der im Code angegebene String (in diesemFall "") wird einfach vor den bestehenden Inhalt gesetzt. Falls ich also ein paar Leerzeichen setze (z.B. Such1 = " "), werden diese an den Beginn des Textfelds geschrieben und der vorhandene Text bleibt. Das passiert offensichtlich generell mit solchen Textfeldern. Wenn ich beispielsweise in das mehrzeilige Feld txtAnzeige etwas hineinschreibe und dann erst über das Makro den gesuchten Datensatz, bleibt auch dieser Text am Ende erhalten. Hier der Code:

Code: Alles auswählen

Sub Loeschen
	' Inhalt der Anzeige aller Suchfelder löschen

	oDoc = thisComponent
	oDrawpage = oDoc.drawpage
	oForm = oDrawpage.forms.getByName("frmProbe")
	Dim oSuch1 As Object, oSuch2 As Object, oSuch3 As Object, oSuch4 As Object
	oSuch1 = oForm.getByName("txtNr")
	oSuch2 = oForm.getByName("txtWerk")
	oSuch3 = oForm.getByName("txtKomp")
	oSuch4 = oForm.getByName("txtAlle")
 	oTextfeld = oForm.getByName("txtInhalt")

	oSuch1.String = ""
	oSuch2.String = ""
	oSuch3.String = ""
	oSuch4.String = ""
	oTextfeld.String = ""
	ReDim DatenArray(0,0)

End Sub
Kennt jemand das Phänomen und die Lösung, wie ich den Inhalt so eines Textfeldes über ein Makro löschen kann?

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Verfasst: Sa 31. Mai 2014, 10:02
von gogo
versuch's mal so:

Code: Alles auswählen

oSuch1.getText.setString("")
btw:
... In einem Formular mit lauter ungebundenen Textfeldern ...
Dann ist es eleganter einen Dialog zu verwenden - aber das ist Geschmackssache (und da gibt's auch nicht alle Kontrollelemente, die ein Formular bietet)

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Verfasst: So 1. Jun 2014, 14:21
von teuff
Danke, das funktioniert so.
Einen Dialog werde ich eher nicht verwenden, weil ich das Formular noch ausbauen muss und die Anzeige im gleichen Formular habe.

Re: Ungebundenes Textfeld: Inhalt lässt sich nicht löschen

Verfasst: So 1. Jun 2014, 14:39
von teuff
gogo hat geschrieben:versuch's mal so:

Code: Alles auswählen

oSuch1.getText.setString("")
btw:
... In einem Formular mit lauter ungebundenen Textfeldern ...
Dann ist es eleganter einen Dialog zu verwenden - aber das ist Geschmackssache (und da gibt's auch nicht alle Kontrollelemente, die ein Formular bietet)
Danke, das funktioniert so.
Einen Dialog werde ich eher nicht verwenden, weil ich das Formular noch ausbauen muss und die Anzeige im gleichen Formular habe. Und für kleine Änderung der Suchbegriffe soll der Text ja erhalten bleiben.