[AccessD] Required Field in Function

Hale, Jim Jim.Hale at FleetPride.com
Thu Sep 2 10:11:27 CDT 2004


Maintaining the integrity of data Linked to Excel spreadsheets is often
problematic, since the Excel "databases" are subject to manipulation by the
user (ie. blank cells, changing column headings, inserting rows, text
instead of numbers, etc. One way I reduce these problems is by having a
hidden sheet that is linked to the data input cells/sheets. This sheet can
have a "validation" field (column) with an excel formula that tests for
conditions such as all fields being filled, no text where numbers should be,
etc. If the "record" fails the test the formula result can be whatever code
you wish. Since you can create your own specialized Excel formula these
validation routines can be quite elaborate. When you are reading these Excel
"records" into the Access database you can test for these codes and handle
the record appropriately. Just a thought.
Jim Hale

-----Original Message-----
From: Hollis,Virginia [mailto:HollisVJ at pgdp.usec.com]
Sent: Thursday, September 02, 2004 8:28 AM
To: accessd at databaseadvisors.com
Subject: [AccessD] Required Field in Function


I removed the Cancel = True, added "Else" after the MsgBox, and moved the
End If to the bottom of the code. But I still receive the RunTime Error 424
Object Required on the If IsNull ... code. Am I missing something else? What
would stop the code from running and what is causing the error?
 
If IsNull(xlsBPS.AssetID) Then
   MsgBox "Asset ID must be completed before downloading"
Else
.......
End If
End If
 
Virginia
________________________________________________________
Virginia
Your test may well be ok but all you're doinmg is setting Cancel=True; you
still carry on and execute the queries. The query execution needs to be on
an Else so that it does not run if the IsNull test is True. Setting
Cancel=True does not stop subsequent code.
 
--
Andy Lacey
http://www.minstersystems.co.uk <http://www.minstersystems.co.uk> 
 
 
 
--------- Original Message --------
From: Access Developers discussion and problem solving
<accessd at databaseadvisors.com
<http://databaseadvisors.com/mailman/listinfo/accessd> >
To: accessD at databaseadvisors.com
<http://databaseadvisors.com/mailman/listinfo/accessd>  <accessD at
databaseadvisors.com <http://databaseadvisors.com/mailman/listinfo/accessd>
>
Subject: [AccessD] Required Field in Function
Date: 02/09/04 12:45
 
 
 I have a function (code below) that is used to append data from a linked
Excel file (xlsBPS). The Excel file is linked to the database as a table.
 There is a column in the Excel file named AssetID - this is a required
field in the database. Yesterday when the user ran the append code the
AssetID was blank in one of the records in the xlsBPS file. This caused all
the records to move up one. For example:
 
 Record 1: AssetID =
             Description: This one
 
 Record 2: AssetID = ABC
             Description: My Name
 
 The results after the append code ran were:
 
 Record 1: AssetID  = ABC
             Description: This one
 
What can I add to the function to check for null fields to ensure the
AssetID is completed, if not, the code does not run? I tried adding a check
(where I added the ***** in the code, but I receive the error, RunTime 424,
Object Required.
 
 Virginia
____________________________________________________________________
 
 Function AppendBPS()
 
 'Appends new data from xlsBPS to tblFailure, tblSystemMain, and
tblFailureTimeSelected.
 
     Beep
 
     Title = "Append new BPS data from Excel"
 
     ' Work Order table import.
 
     Msg = "Your are about to modify data in this database."
     Msg = Msg & " Do you want to continue?"
     DgDef = vbQuestion + vbYesNo + vbDefaultButton1    ' Describe dialog
box.
 
     Response = MsgBox(Msg, DgDef, Title)    ' Get user response.
     If Response = vbYes Then    ' Evaluate response
 
 ********        If IsNull(xlsBPS.AssetID) Then
*******************************
 *******     MsgBox "Asset ID must be completed before
downloading"
 ********    Cancel = True
 ******* End If
 
         DoCmd.SetWarnings False
 
         DoCmd.Echo False, "Appending Data"
 
         DoCmd.Hourglass True
 
         'Append data to tables
 
         DoCmd.OpenQuery "qry_AppendBPS_tblSystemMain", acNormal,
acEdit
 'Open append query for tblSystemMain
 
         DoCmd.OpenQuery "qry_AppendBPS_tblFailures", acNormal,
acEdit 'Open append query for tblFailures
         DoCmd.OpenQuery
"qry_AppendBPS_tblFailureTimeSelected",acNormal, acEdit 'Open
append query for tblFailureTimeSelected
         DoCmd.Echo False, "Appending new data"
 
         DoCmd.Echo True
         DoCmd.Hourglass False
 
         Beep
 
         MsgBox "All done!"
 
         DoCmd.SetWarnings True
 
         DoCmd.OpenForm "frmSystemFailure", acNormal,
"qryStatusPending", , acFormEdit, acWindowNormal
 
     Else
 
        ' You chose No or pressed Enter.
 
     End If
 
 End Function
 
 _______________________________________________
 AccessD mailing list
 AccessD at databaseadvisors.com
<http://databaseadvisors.com/mailman/listinfo/accessd> 
 http://databaseadvisors.com/mailman/listinfo/accessd
<http://databaseadvisors.com/mailman/listinfo/accessd> 
 Website: http://www.databaseadvisors.com <http://www.databaseadvisors.com> 
 

 

-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list