Hallo,
wir (fünf Mädels) brauchen Hilfe bei einem Accessprojekt.
In einem Unterformular sind vier Felder: Geplanter Beginn, Geplantes Ende, Tatsächlicher Beginn, Tatsächliches Ende.
Wir brauchen eine Fehlermeldung (Bedingung).
"Der eingegebene "Tatsächliche Beginn" muss im geplanten Zeitraum liegen. Ansonsten soll eine Fehlermeldung erscheinen.
Wir haben es erst mit einer Abfrage versucht, denken aber, dass es mit einem Makro (beim Verlassen) funktionieren könnte.
Kann uns jemand helfen und sagen, wir wir die Bedingung im Makro formulieren müssen.
Liebe Grüße,
das Lilalaunebärchen.
Probiert es doch einfach mit einer MsgBox zum davorschalten/dahinterschalten.
Wie hier nachzulesen:
http://www.access-o-mania.de/forum/index.php?topic=4995.0
So eine Suchfunktion ist echt praktisch. ;)
Hallo,
ich denke mal, die Mädels brauchen eine Formulierung der Bedingung, die die Plausibilität prüft..
Tipps:
--In Feld(und Objektnamen) Leer- und Sonderzeichen DRINGEND vermeiden.
--Auf Makros verzichten.
-- Abfragen fragen Tabellendaten ab. Zwar auch nach irgendwelchen (mögl.) Kriterien, aber können keine Formularfelder "abfragen"
-- für Datumsfelder den Datentyp "DAtum/Uhrzeit" in der TAbelle verwenden.
-- mögliche Lösung: Ereignisprozedur "Vor Aktualisierung" des Textfeldes "TatsaechlicherBeginn":
Sub TatsaechlicherBeginn_BeforeUpdate(Cancel as Integer)
If cdate(Me![TatsaechlicherBeginn]) < cdate(Me![GeplanterBeginn]) or cdate(Me![TatsaechlicherBeginn]) > cdate(Me![GeplantesEnde]) then
Msgbox "falsches Datum"
Cancel =true
Me![TatsaechlicherBeginn].Setfocus
Me.Undo
End If
End Sub
Hallo
und evt. auch noch Beginn und Ende gegenseitig abprüfen; mit "vereinfachten" Feldbezeichnungen (siehe auch Hinweis von Franz)
Private Sub Beginn_AfterUpdate()
If Me!Beginn < Me!Planbeginn Or Me!Beginn > Me!Ende Or Me!Beginn > Me!PlanEnde Then
MsgBox "Datum Beginn stimmt nicht!"
Me!Beginn.SetFocus
End If
End Sub
Private Sub Ende_AfterUpdate()
If Me!Ende > Me!PlanEnde Or Me!Ende < Me!Beginn Or Me!Ende < Me!Planbeginn Then
MsgBox "Datum Ende stimmt nicht!"
Me!Ende.SetFocus
End If
End Sub
Gruß Oma