ich hab in einer Base-Datei (odb) ein Formular, welches an eine Tabelle gebunden ist. Die Daten werden sowohl in Textfeldern als auch übersichtlich in einem Tabellenkontrollfeld angezeigt. Nun hab ich über dem Tabellenkontrollfeld 4 Checkboxen eingerichtet, die mir die Daten in der Tabellenübersicht filtern sollen, bzw. eigentlich werden ja die Daten für das Formular gefiltert. Die Checkboxen haben bei dem Ereignis "Status geändert" ein Makro zugewiesen bekommen:
Code: Alles auswählen
Sub DatenFiltern
Dim sFilter as String
oForm = ThisComponent.drawpage.forms.getByName("MainForm")
if oForm.getByName("cbFilter_1").state = 0 then
sFilter = " ""privileg"" != 'admin' "
else
sFilter = " ""privileg"" = 'admin' "
endif
if oForm.getByName("cbFilter_2").state = 0 then
sFilter = sFilter + " AND ""privileg"" != 'user' "
else
sFilter = sFilter + " AND ""privileg"" = 'user' "
endif
if oForm.getByName("cbFilter_3").state = 0 then
sFilter = sFilter + " AND ""aktiv"" != true "
else
sFilter = sFilter + " AND ""aktiv"" = true "
endif
if oForm.getByName("cbFilter_4").state = 0 then
sFilter = sFilter + " AND ""aktiv"" != false "
else
sFilter = sFilter + " AND ""aktiv"" = false "
endif
'Testausgabe Filter
MsgBox sFilter
'Testausgabe Checkboxstatus
MsgBox oForm.getByName("cbFilter_1").state & " " & oForm.getByName("cbFilter_2").state & " " & _
oForm.getByName("cbFilter_3").state & " " & oForm.getByName("cbFilter_4").state
oForm.Filter = (sFilter)
oForm.ApplyFilter = true
oForm.reload()
End Sub
Ich hab da eher ein anderes Problem. Und zwar kann man ja bei den Checkboxen angeben, ob sie einen Standardstatus haben ("ausgewählt" oder "nicht ausgewählt"). Dadurch dass ich nun aber oForm.reload() aufrufe, wird der Standardstatus für die Checkboxen wieder hergestellt, was ich ja aber nicht möchte. Die Checkboxen sollen einen Standardstatus zu Beginn haben, wenn ich das Formular aufrufe, aber ansonsten sollen sie den Status behalten, den ich ausgewählt habe, solange das Formular geöffnet bleibt. Aber auf das reload() des Formulars kann ich ja auch nicht verzichten, da sonst die gefilterten Daten nicht angezeigt werden.
Ich hoffe, ihr habt mein Problem verstanden. Vielleicht hat ja von euch schonmal wer so etwas hingekriegt...
Gruss
Bert