Hallo an Alle,
habe ein Problem. ???
Das Formular "MPliste" zeigt alle Datensätze einer Tabelle in einem Datenblatt (1 Datensatz pro Zeile) an. Ich möchte das Formular auf Datensätze durchsuchen, welche im Feld "Anwesenheit" einen Wert ausser "MP frei" eingetragen haben. Soweit funktioniert dies auch.
Wie kann ich nun im Falle eines solchen Eintrages die Checkbox "MP_frei" in nur diesem Datensatz (Zeile) deaktiveren?
Mit diesem Code verändere ich immer die Aktivierung der Checkbox für das gesamte Formular.
Sub MPfeldAkt()
Dim rsFeldAkt As DAO.Recordset
Set rsFeldAkt = Forms!FormMPliste.Recordset
rsFeldAkt.MoveFirst
Do While Not rsFeldAkt.EOF
If Nz(Anwesenheit, 0) = 0 Or Anwesenheit = Format("MP frei") Then
MP_Frei.Enabled = True
Else
MP_Frei.Enabled = False
End If
rsFeldAkt.MoveNext
Loop
set rsFeldAkt = Nothing
End Sub
Hallo,
versteh Deine Beschreibung nicht...
Wie auch immer, wenn das Checkbox-Steuerelement (Kontrollkästchen mit Namen "MP_Frei" ?? ) nicht an ein Feld in der Tabelle gebunden ist, klappt das in Endlos- oder Datenblattansicht nicht.
Was soll denn diese Codezeile bedeuten:
If Nz(Anwesenheit, 0) = 0 Or Anwesenheit = Format("MP frei") Then
???
Hallo Franz,
Dank Dir für Deine schnelle Antwort.
ZitatWie auch immer, wenn das Checkbox-Steuerelement (Kontrollkästchen mit Namen "MP_Frei" ?? ) nicht an ein Feld in der Tabelle gebunden ist, klappt das in Endlos- oder Datenblattansicht nicht.
:P Ich glaube das kapier ich. Das würde bedeuten, ich muss nicht das Formular abfragen und ändern, sondern die zugrunde liegende Tabelle. Oder ???
ZitatWas soll denn diese Codezeile bedeuten:
If Nz(Anwesenheit, 0) = 0 Or Anwesenheit = Format("MP frei") Then
Ja, da sieht man den blutigen Amateur ;D Es sieht zwar komisch aus, bewirkt aber, daß nur die leeren oder mit "MP frei" ausgefüllten Textfelder ausgewählt werden. Würde mich sehr über eine Anregung zur professionelleren Formulierung freuen :D
Hallo,
"Oder " :
Nein, es geht doch um Steuerelemente... auch wenn es gebunden St.-Elemente sind, ist die datensatzweise Einstellung der Enabled-Eigenschaft nicht ohne Weiteres zu realisieren. (Auswerten der Ereignisse "Beim Anzeigen" und/oder "Beim Hingehen" )
"..professionelleren Formulierung ..":
If Nz(Me!Anwesenheit, "MP frei") = "MP frei" Then 'True bei Anwesenheit =NULL oder bei Anwesenheit ="MP frei"
Me als Referenz auf das akt Form-Objekt im gesamten Code nicht vernachlässigen
Danke Franz,
manche Dinge funktionieren einfach nicht. Schön wenn man es gesagt bekommt. :)
ZitatIf Nz(Me!Anwesenheit, "MP frei") = "MP frei" Then 'True bei Anwesenheit =NULL oder bei Anwesenheit ="MP frei"
WOW! Ein Augenöffner!
ZitatMe als Referenz auf das akt Form-Objekt im gesamten Code nicht vernachlässigen
::) Habe den gehobenen Zeigefinger bemerkt. Macht ja auch sinn