Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Avistratum am März 04, 2021, 10:00:51

Titel: Button nach einem Klick deaktivieren
Beitrag von: Avistratum am März 04, 2021, 10:00:51
Hallo,

ich bin neu hier in dem Forum und habe leider kein Thema gefunden was meine Problematik löst.

Ich habe einen Button der mir die aktuelle Zeit in ein Datenfeld setzt.
Jetzt möchte ich das der Button nach dieser Aktion in dem Datensatz nicht mehr zu benutzen geht.
Welchen Befehl müsste ich dafür nutzen?

Im Moment sieht es so aus:
Private Sub Anfang_P_Click()
    Me.a_prod = Now
End Sub

Danke schon mal für die Hilfe.
Titel: Re: Button nach einem Klick deaktivieren
Beitrag von: ebs17 am März 04, 2021, 10:16:50
An den Einzeiler anhängen:
Me.Anfang_P.Enabled = False
Titel: Re: Button nach einem Klick deaktivieren
Beitrag von: crystal am März 04, 2021, 12:40:41
Hallo,
der Vorschlag von Eberhard funktioniert natürlich nur, solange man noch im betreffenden Formular bzw. Datensatz ist.

Hast du den Button einmal geklickt, ist er deaktiviert, auch wenn du zum nächsten Datensatz gehst.

Du müsstest also noch etwas mehr Logik spendieren, etwa (Prosa):
den Button aktivieren, solange das Datumsfeld noch leer ist und erst dann deaktivieren.

Diese Prüfung müsste für jeden Datensatz ablaufen, daher im Formular-Event Current.
Etwa so:

if isempty(a_prod) then
   anfang_p.enabled = true
else
   anfang_p.enabled = false
end if

Außerdem würde ich das Datumsfeld nach Klicken des Buttons auch noch sperren, damit das Datum nicht manuell geändert werden kann  ;D

Du könntest auch eine kleine Kombobox benutzen, gefüllt mit einer Wertetabelle
0 heute
-1 gestern
1 morgen
...

(1. Spalte 0cm) und dann im Event After_Update schreiben:

anfang_p = dateadd("d",Kombobox.column(0),now)

Das würde die Anzahl der Tage ("d", hier 0,-1 oder 1) zum aktuellen Datum addieren - coole Sache.

Gruß,
crystal