von juetho » 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:
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
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.
- Dateianhänge
-
- jt-test-checkbox.odb
- (14.23 KiB) 49-mal heruntergeladen
Ich habe im Base-Formular ein Markierfeld (CheckBox), das [u]nicht an Daten gebunden[/u] 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:
[code]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[/code]
[b]Problem:[/b] Am Ende des Makros steht die CheckBox [b]immer auf "Aus"[/b] - 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)
[i]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.[/i]