Optionsfeld nur einmal im Endlosformular aktivieren
Karl Donaubauer
Gesendet: 13.09.11 16:43
Betreff: RE: Optionsfeld nur einmal im Endlosformular aktivieren



Elite Veteran

Beiträge: 692
500100252525
Ort: Wien
Gast123 - 13.09.11
...Tabelle

Artikel_ID Preis aktiv
123 4,40€ ja
123 4,50€ nein
123 4,60€ nein
124 10,40€ ja
125 14,40€ ja
125 14,50€ nein

Im Endlosformular werden Preise für einen Artikel angezeigt und nur einer soll aktiv sein

Artikel_ID Preis aktiv
123 4,40€ ja
123 4,50€ nein
123 4,60€ nein

Ich bin nicht sicher, ob ich dein Anliegen verstehe. Willst du vielleicht, dass immer nur 1 Datensatz (DS) in der Tabelle auf "Ja" steht?
Dann müsstest du im Formular dafür sorgen, dass bei einer Änderung alle anderen DS mit geändert werden. Das geht sowohl bei einem "Optionsfeld", wie du im Betreff schriebst, als auch bei einer Optionsgruppe. Bei einem einzelnen Steuerelement, das Ja/Nein darstellt, ist es üblich, ein Kontrollkästchen zu nehmen, in einer Optionsgruppe eher Optionsfelder.

Im Ereignis "Nach Aktualisierung" des Kontrollkästchens oder der Optionsgruppe kannst du per VBA-Code eine Aktualisierungsabfrage starten z.B.

If Me!aktiv = True Then
Currentdb.Execute "UPDATE Tabelle SET aktiv=False WHERE Id<>" & Me!Id
End If

Dieser Code fragt, ob im aktuellen DS "aktiv" auf Ja (True) geändert wurde. Wenn dem so ist, werden alle anderen DS auf Nein (False) gesetzt. Du musst im o.a. Code nur "Tabelle" durch den Namen deiner Tabelle ersetzen und "Id" durch den Namen eines eindeutigen Feldes in der Tabelle.

-----
Servus
Karl
*********
Internationale Access-Konferenz: http://www.AccessDevCon.com
Access-Entwickler-Konferenz: http://www.donkarl.com/?aek
Top of the page Bottom of the page