[erled] Base: Markierfeld verliert Status während des Makros
Verfasst: Di, 16.10.2012 11:17
Ich habe im Base-Formular ein Markierfeld (CheckBox), das nicht an Daten gebunden ist und standardmäßig auf "Aus" steht. Wenn es auf "Ein" umgeschaltet wird, soll per Makro ein neuer Datensatz in der Tabelle angelegt werden, der anschließend noch genauer bearbeitet wird. Das Makro sieht so aus:
Problem: Am Ende des Makros steht die CheckBox immer auf "Aus" - unabhängig davon, welche der auskommentierten Zeilen gültig gemacht werden. Wird dieses Verhalten wegen moveToInsertRow benötigt, gibt es eine andere Erklärung, oder kann es als Fehler angesehen werden? (In der Bug List finde ich nichts, aber das kann natürlich an unpassenden Suchkriterien liegen.) Jürgen
LibreOffice Version 3.6.2.2 (Build ID: da8c1e6)
Bitte nicht wundern über den Versuchsaufbau: Mit der Checkbox sollte auch in anderen Makros geprüft werden, ob "gerade" ein neuer Datensatz bearbeitet wird oder ein schon vorhandener; die Navigationsleiste gehört eigentlich nicht in dieses Formular. Das Beispiel wurde nur auf das Wesentliche reduziert und ist in dieser Form ziemlich sinnfrei. Als Ausweg kann und werde ich mit Button und Label arbeiten.
Code: Alles auswählen
Sub chbox_checked(oEvent as Object)
dim ischecked as Boolean
dim frm as object
frm = thisComponent.drawpage.forms.MainForm
ischecked = oEvent.Source.State
if ischecked then
frm.moveToInsertRow()
'frm.updateString(4, "noch ein Eintrag")
'frm.insertRow()
'frm.reload()
else
end if
'oEvent.Source.State = ischecked
End Sub
LibreOffice Version 3.6.2.2 (Build ID: da8c1e6)
Bitte nicht wundern über den Versuchsaufbau: Mit der Checkbox sollte auch in anderen Makros geprüft werden, ob "gerade" ein neuer Datensatz bearbeitet wird oder ein schon vorhandener; die Navigationsleiste gehört eigentlich nicht in dieses Formular. Das Beispiel wurde nur auf das Wesentliche reduziert und ist in dieser Form ziemlich sinnfrei. Als Ausweg kann und werde ich mit Button und Label arbeiten.