View Single Post
  #4  
Old November 19th, 2004, 07:06 AM
Albert D. Kallal
external usenet poster
 
Posts: n/a
Default

"RudyR_Seattle" wrote in message
news:4EA3C3D8-F5BF-4D1F-B2AF-


Let me modify my question because the issue again is speed of data entry.
This is necessary because this is evidence
that I was catalogueing.


Ok...fair enough. I was just trying to give you some ideas here. Often, if
you can build some type of natural grouping to the data entry process, then
in fact the rate of data entry *INCREASES* with much less typing. Further,
the data is thus more consistent and more able to be reported on, and
cataloged on. And, that normalized data makes it MUCH harder for data entry
people to make mistakes during entry. And, the it becomes much easer to fix
data entry mistakes also *after* the data have been entered (this assumes
this is a important issue for you to check the data). So, I just saying you
do owe yourself a look at the whole process..and just the actual speed of
putting data in via copy is usually not the ideal solution here.
side.

Is there any way to do a fill down procedure using the datasheet in Access?


It is not built in to ms-access. So, you are going to have to code this. It
is not clear if you are editing the tables directly, or you have in fact
built a form, and are using that form in datasheet mode ? I certainly hope
you are using a form, as you then can at least have some type of data
verification going on during data entry..right? (again, this depends on if
you value the data).

You can use cut and paste, ..but that is likely more dangerous then what
Excel
and format paint/copy does. You can also use the ctrl-' (that is hold
down the control key, and hit the ' key). So, the ctrl-' key will copy the
previous field value from the previous record (that you entered). However,
this does not copy the whole record, and again is likely not much use. (the
ctrl-' key also works in excel!!).

Believe me, this is the fastest way to enter this type of evidence. Yes I
know about normalization and blah blah blah.


Well, the fact the sql-server, Oracle, ms-access and all commercial database
systems don't have this ability has to tell you something about the whole IT
industry. What is means that for data entry, the data can't be verified, or
normalized during data entry (this actually slows down data entry, and also
opens up your data to more entry mistakes). However, lets just assume for
the time being that the data you are entering is not very important, and all
you care about is copying and repeating data quickly during the entry
process.

About the only solution I can think here is to write some code. I would use
a form in continues mode, and not datasheet mode. You then can place a
button to "copy" the current detail line you are editing, and you can then
prompt the user for how many copies of the current data line. You could also
hot key it, so, when the user hits ctrl-d, a box pops up asking how many to
copy, you type 8, and then Enter...and the current row would the thus
coped 8 times.. This would also eliminate the need to use the mouse during
data entry anyway. Any good developer will design their forms to allow the
data entry process to be done via keyboard anyway, and forcing users to use
the mouse is a poor design idea for data anyway. So, if we use a hot key,
then you can simply navigate to any line...hit ctl-d...enter the number to
duplicate..and hit enter. With a excel "format/copy" idea you can only grab
the last line.

Of course, a good designed form, and normalized data, then a LOT of popup
etc will occur during data entry to aid the user during typing..and this
actually means less typing, and prevents mistakes as many of the category
fields etc are already entered and pop up during data entry (but, again, I
am starting to diverge for you question ).

So, a continuous form and adding a button (or better yet...a hot key) that
pops up and asks how many lines to copy for the current line seems to be
about the best idea.

The code to do this is quite easy:

dim intCopies as integer
dim strSql as string
intCopies = Val(InputBox("how many records to copy"))
If intCopies 0 Then
Me.Refresh ' force current record to disk before copy
strSql = "insert into yourTable " & _
"(Description,Notes, Field1, Field2, etc, etc) " & _
" select Description, Notes, Field1, Field2, etc, etc" & _
" from yourTable where id = " & Me.ID

For i = 1 To intCopies
CurrentDb.Execute strSql
Next i
Me.Requery
End If

And, perhaps, you might just keep using Excel for data entry. Your data
seems to fit the spreadsheet design here anyway. I would not bow to any
popular pressure that says you can't use Excel for entering this data (Excel
don't do a good job of verify input, but that not your concern in your case,
you just want this stuff put in ASAP). So, every good rule and idea has
exceptions here, and excel might just better for your data entry (you just
import into ms-access when you are done).

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada

http://www.attcanada.net/~kallal.msn