Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensatz sperren wenn Datum()-1





Frage

Hallo Leute Ich habe ein Formular erstellt mit folgenden Spalten: Eingansdatum - Lagerplatz – Stückzahl - Bemerkungen - Verschleiss - Visum Ich möchte dass die Datensätze die hinter dem Aktuellen Datum(),(Spalte Eingangsdatum) liegen gesperrt werden. D.h der Benutzer kann die Daten die hinter dem Aktuellen Datum() liegen einsehen aber nicht mehr ändern In den Eigenschaften des Formulars habe ich hinter der Aktion „beim Öffnen“ folgenden VBA Code hinterlegt. Private Sub Form Open (Cancel as Integer) If Me! Ein_Dat = "Datum ()-1" Then Me! Ein_Dat.Locked = True Me! Lagerplatz.Locked = True Me! Stückzahl.Locked = True Me! Verschleiss_In_MM.Locked = True Me! Visum_Ein.Locked = True Else Me! Ein_Dat.Enabled = True Me! Lagerplatz.Enabled = True Me! Stückzahl.Enabled = True Me! Verschleiss_In_MM.Enabled = True Me! Visum_Ein.Enabled = True End If End Sub Mit diesem Code funktioniert es nicht. Was mache ich falsch?

Antwort 1 von MickK

Hallo,

so gehts nicht. Ich würde das 'Beim Anzeigen' machen und für den Vergleich kannst Du die DateDiff-Funktion benutzen.

...
If DateDiff("d", Me!Ein_Dat, Now()) > 0 Then
...

Gruß
Mick


Antwort 2 von Wangdü

Vielen Dank für den Tipp
Melde mich wieder falls es nicht geklappt hat.

Gruss Wangdü


Antwort 3 von Wangdü

Hallo

wenn ich die Funktion

...
If DateDiff("d", Me!Ein_Dat, Now()) > 0 Then

als Vergleich Benutze sind die Spalten
für Die Dateneingabe gesperrt, auch für neue
Daten.kann also nichts eingeben
Ich möchte aber dass der Aktuelle Tag
für die Dateneingabe frei ist.
Nur die Spalten die hinter dem
aktuellen Datum liegen dürfen gesperrt sein.

Für Antworten danke im Voraus

Gruss Wangdü

Antwort 4 von MickK

Hallo,
wenn Du nur gefüllte Datensätze verarbeiten willst, musst Du vorher das Feld Ein_Dat untersuchen. Hast Du keinen Standardwert in der Tabellendefinition angegeben, befindet sich in einem Feld eines neuen Satzes ein NULL-Wert. Den kann man abfragen. Also nur gefüllte Sätze:

...
If Not IsNull(Me!Ein_Dat) then
  If DateDiff("d", Me!Ein_Dat, Now()) > 0 Then
...
  End if
End if
...

Gruß
Mick


Antwort 5 von n3xt

Hi !


Ich sehe gerade, der Psot ist schon was älter, aber ich versuchs trotzdem ;-).

Habe diese Funktion angepaßt, funktioniert super, besten Dank.

Meine Frage / mein Problem ist nur, ich habe in dem Formular ein Unterformular. Wie schaffe ich es, auch dieses mit der Funktion "abzudecken" / bzw mit zu sperren?

Besten Dank, MfG

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: