Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Queries / July 2006

Tip: Looking for answers? Try searching our database.

Form Question "Continued"

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Rodney - 13 Jul 2006 04:49 GMT
I have recently asked this question ?

I have a form which has the following fields, CourseName, courseStartDate,
CourseFinishDate and a subform with the fields ExamName, ExamDate.
I would like to put an after update event procedure on ExamDate to
Restrict entry to greater then coursestartdate and less then
coursefinishdate also with an error message if the ExamDate is outside the
course Start and finish date.
Is this possible

And I received the following help which was really appreciated.

To compare fields, you need to use the BeforeUpdate event of the form,
rather than the AfterUpdate of the text box. That way, it catches the error
and prevents the save even if the user goes back and changes one of the other
text boxes after entering the ExamDate.

This kind of thing:

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If (Me.ExamDate < Me.CourseStartDate) OR _
    (Me.ExamDate > Me.CourseFinishDate) Then
        Cancel = True
        MsgBox "Exam must be during the course." & vbcrlf & _
            "Correct the entry, or press <Esc> to undo."
    End If
End Sub

I have tried this suggestion but can't seen to get it to work.

This is what I actually have

I have a Form called frmAddExamToDivision this form has 4 fields called
CourseName, DivisionName, StartDate, FinishDate and a Subform called
frmAddExamToDivisionSubform.

The frmAddExamToDivisionSubform has 3 field called ExamName, ExamDate,
InstructorDetails.

I have tried this but no luck

Private Sub Form_BeforeUpdate(Cancel As Integer)

   If (Me.ExamDate < Me.StartDate) Or _
   (Me.ExamDate > Me.FinishDate) Then
       Cancel = True
       MsgBox "Exam must be during the course." & vbCrLf & _
           "Correct the entry, or press <Esc> to undo."
   End If
End Sub

I also tried this

Private Sub Form_BeforeUpdate(Cancel As Integer)
   If
(Me.Forms.frmAddExamToDivision.frmAddExamtoDivisionSubform.Form.ExamDate
< Me.Forms.frmAddExamToDivision.StartDate) Or _
(Me.Forms.frmAddExamToDivision.frmAddExamtoDivisionSubform.Form.ExamDate
> Me.Forms.frmAddExamToDivisionFinishDate) Then
       Cancel = True
       MsgBox "Exam must be during the course." & vbCrLf & _
           "Correct the entry, or press <Esc> to undo."
   End If
End Sub

And still no luck
Can you please lend some more assistance?

Thank you
Rodney
Svetlana - 13 Jul 2006 07:34 GMT
You must put the code on subform's before update event

If Me.ExamDate < Forms!frmAddExamToDivision!StartDate Or _
Or Me.ExamDate > Forms!frmAddExamToDivision!FinishDate  Then
     Cancel=True
     MsgBox "Exam must be during the course." & vbCrLf & _
     "Correct the entry, or press <Esc> to undo."
End If
Rodney - 13 Jul 2006 12:23 GMT
Svetlana,
Thank you so much it works like a dream.

Rodney

> You must put the code on subform's before update event
>
[quoted text clipped - 4 lines]
>       "Correct the entry, or press <Esc> to undo."
> End If
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.