Double data entry

Z

Zinzred

I would like to double enter data for one of my projects.
What is the most efficient way to identify discrepancies
between values entered for the same record? For example,
if a numeric entry entered by one person is "1" but
another person inadvertently enters "2" for the same
record and field, is there a way to have a dialog box pop
up that tells the data entry person that they have entered
a value which is different from a previously entered value
for the same record?
 
J

Jeff Boyce

Zinzred

One approach might be to give person#2 the same Access form (i.e., screen)
that person#1 used, but filled with the data that person#1 had already
entered. You might have to test the following, but it might be faster to
have person#2 simply inspect the values entered by person#1 against whatever
you would have had them use to re-enter the same data.

Or, if you absolutely MUST have every data element entered two times, by
different persons, another approach might be to add code into each control's
AfterUpdate event. It might look something like (untested aircode - your
syntax may vary):

Sub YourControlName_AfterUpdate ()
If Me!YourControlName <> Me!YourControlName.OldValue Then
'insert your messagebox here
'insert your "handling" here, including, if necessary
Me!YourControlName.SetFocus 'to put the focus back in the "bad"
control
End If
End Sub

You'd want error handling for this. You might be able to create a single
procedure, call it from each control's AfterUpdate event, passing in the
control itself (not the value it holds).
 
J

John Vinson

I would like to double enter data for one of my projects.
What is the most efficient way to identify discrepancies
between values entered for the same record? For example,
if a numeric entry entered by one person is "1" but
another person inadvertently enters "2" for the same
record and field, is there a way to have a dialog box pop
up that tells the data entry person that they have entered
a value which is different from a previously entered value
for the same record?

Gnnnn... it was an Oracle frontend in 1988 when I last had to do
this... <g>

I would suggest using a two-table solution. The first operator would
add the data to a FirstPass table. The second operator would use a
form bound to the actual data storage table; in the BeforeUpdate event
of each control on the form, you would compare the value entered to
the value in the FirstPass table for that record. You'ld pop up a
msgbox if there were a discrepancy.

This has a lot of non-obvious consequences! You *cannot* use
Autonumbers, period; they're uncontrollable, and you'll be unable to
link the FirstPass record to the corresponding production table
record. Also, free-text controls can be the very devil to validate; if
you have memo fields or text fields that contain more than a few
words, differences in punctuation, spacing, or reasonable grammatical
word choice will drive you crazy with trivial errors blocking update.

If you'ld like details on the code for the before-update post back,
I've got some ideas but more than I want to type right now <g>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top