By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,192 Members | 1,276 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,192 IT Pros & Developers. It's quick & easy.

Close Button/required Field

P: 69
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
Jul 10 '07 #1
Share this Question
Share on Google+
1 Reply


hyperpau
Expert 100+
P: 184
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.
Jul 12 '07 #2

Post your reply

Sign in to post your reply or Sign up for a free account.