Connecting Tech Pros Worldwide Forums | Help | Site Map

Close Button/required Field

Member
 
Join Date: Jun 2007
Posts: 64
#1: Jul 10 '07
Using Access '97

Hi there, am wondering if there is a way to have a CLOSE button on the form and have it NOT CLOSE the form unless all the REQUIRED controls have an entry.

I have 3 items I would LOVE to find out about:
1 / I have created a button that I have attached to following code to and it seems to check the fields and it gives me a WARNING that a particular field needs to have an entry if something is missing. This is good, and it works.
2 / After it checks, I need to know if there is a way to attach the CLOSE button code to this and have it NOT CLOSE if there is something missing abd CLOSE if all fields have an entry.
3 / If all controls have an entry in them, I need to capture a date and time. If all the fields don't have an entry, I don't want the form to close and also no date.
4 / I also need to capture a 2nd date when all the NOT REQUIRED fields have been entered at a later date.

Is this possible?

Thank you in ADVANCE FOR YOUR ASSISTANCE.
Kind regards



Private Sub Command325_Click()


Dim FLAG As Integer

If Not IsNull(Me.F_ERGONOMICS!ERGO_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_HUMAN_FACTOR!HUMAN_FAC_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_PERSONAL!PROT_EQUIP_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_POLICY!POLICY_PROC_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_MGMT_SYSTEMS!MGMT_SYS_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_TOOLS!TOOLS_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_WORKPLACE!WORKPLACE_CODE) Then
FLAG = 1
End If

If FLAG >= 1 Then
FLAG = 0
Else
MsgBox "You need to make an entry in at least one of the KEY FACTORS"
End If



If Nz(Me.SRI) = "" Then
MsgBox ("Missing SRI on the 1st tab.")
End If
If Nz(Me.LOC_CODE) = "" Then
MsgBox ("Missing LOCATION CODE on 1st tab.")
End If
If Nz(Me.COST_CTR) = "" Then
MsgBox ("Missing COST CENTER on 1st tab.")
End If
If Nz(Me.INCIDENT_DATE) = "" Then
MsgBox ("Missing DATE OF INCIDENT on 1st tab.")
End If
If Nz(Me.INCIDENT_TIME) = "" Then
MsgBox "Missing TIME OF INCIDENT on 1st tab"
End If
If Nz(Me.WEEKDAY_CODE) = "" Then
MsgBox ("Missing WEEKDAY INCIDENT OCCURRED on 1st tab.")
End If


End Sub

hyperpau's Avatar
Expert
 
Join Date: Jun 2007
Posts: 177
#2: Jul 12 '07

re: Close Button/required Field


Quote:

Originally Posted by KMEscherich

Using Access '97

Hi there, am wondering if there is a way to have a CLOSE button on the form and have it NOT CLOSE the form unless all the REQUIRED controls have an entry.

I have 3 items I would LOVE to find out about:
1 / I have created a button that I have attached to following code to and it seems to check the fields and it gives me a WARNING that a particular field needs to have an entry if something is missing. This is good, and it works.
2 / After it checks, I need to know if there is a way to attach the CLOSE button code to this and have it NOT CLOSE if there is something missing abd CLOSE if all fields have an entry.
3 / If all controls have an entry in them, I need to capture a date and time. If all the fields don't have an entry, I don't want the form to close and also no date.
4 / I also need to capture a 2nd date when all the NOT REQUIRED fields have been entered at a later date.

Is this possible?

Thank you in ADVANCE FOR YOUR ASSISTANCE.
Kind regards



Private Sub Command325_Click()


Dim FLAG As Integer

If Not IsNull(Me.F_ERGONOMICS!ERGO_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_HUMAN_FACTOR!HUMAN_FAC_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_PERSONAL!PROT_EQUIP_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_POLICY!POLICY_PROC_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_MGMT_SYSTEMS!MGMT_SYS_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_TOOLS!TOOLS_CODE) Then
FLAG = 1
End If

If Not IsNull(Me.F_WORKPLACE!WORKPLACE_CODE) Then
FLAG = 1
End If

If FLAG >= 1 Then
FLAG = 0
Else
MsgBox "You need to make an entry in at least one of the KEY FACTORS"
End If



If Nz(Me.SRI) = "" Then
MsgBox ("Missing SRI on the 1st tab.")
End If
If Nz(Me.LOC_CODE) = "" Then
MsgBox ("Missing LOCATION CODE on 1st tab.")
End If
If Nz(Me.COST_CTR) = "" Then
MsgBox ("Missing COST CENTER on 1st tab.")
End If
If Nz(Me.INCIDENT_DATE) = "" Then
MsgBox ("Missing DATE OF INCIDENT on 1st tab.")
End If
If Nz(Me.INCIDENT_TIME) = "" Then
MsgBox "Missing TIME OF INCIDENT on 1st tab"
End If
If Nz(Me.WEEKDAY_CODE) = "" Then
MsgBox ("Missing WEEKDAY INCIDENT OCCURRED on 1st tab.")
End If


End Sub

This sounds simple. I just don't understand your FLAGS and why I see Nz in your codes.

Let's say, you have 4 required controls.

Expand|Select|Wrap|Line Numbers
  1. Private Sub Command325_Click()
  2.  
  3. If IsNull(Me.Control1) Then
  4.     MsgBox "Control 1 is required"
  5.  
  6. ElseIf   IsNull(Me.Control2) Then
  7.     MsgBox "Control 2 is required"
  8.  
  9. ElseIf   IsNull(Me.Control3) Then
  10.     MsgBox "Control 3 is required"
  11.  
  12. ElseIf  Isnull(Me.Control4)  Then 
  13.     MsgBox "Control 4 is required"
  14.  
  15. Else
  16.       Me![Name of your Date and Time Control] = Now( )
  17.       DoCmd.Close
  18.  
  19. End If
  20.  
  21. End Sub

The Only problem I see in your code is that you separated all your
It..Then statements in to several If...Then Statements instead of putting
Then together in just one If...Then...ElseIf...Then...Else Statement.
Reply


Similar Microsoft Access / VBA bytes