472,119 Members | 1,686 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,119 software developers and data experts.

Copy a fields Value

When entering a record in a form, I would like a value in a field of
the previous record to be entered automatically into a different field
of the current record. Which way should I go? Is it also possible to
do this based on criteria from the previous record?
Nov 12 '05 #1
4 12607
First, let me point out that the terms "next" and "previous" can be
misleading in relational database. By definition, records in a relational
table are unordered, and you cause them to be ordered by specifying sort
fields in a query (which is the same as an ORDER BY clause in SQL).

That said, assuming that you are specifying an order during data entry that
will be the order you obtain by sorting on output, then it is relatively
easy, in VBA code, to define form-level variables into which you save the
values of the Form's Controls in the AfterUpdate event of the Form. You can
then put VBA code in the OnCurrent event of a new record to use those
variables both to set Controls in the new Record and as criteria in
conditional VBA statements such as IF ... THEN ....

Even if the records are not being entered in order, but you can identify
what the "previous" record should be (by a field value, such as an Order
Number, Customer Number, or a combination of field values), you can write
VBA code to read the previous record from the table, and obtain its values.

For a "semi-automatic" approach, you can simply use Ctrl plus the
single-quote, which will fill the Control with the value from the
previously-entered Record.

Larry Linson
Microsoft Access MVP

"Gene" <hr*****@yahoo.com> wrote in message
news:47**************************@posting.google.c om...
When entering a record in a form, I would like a value in a field of
the previous record to be entered automatically into a different field
of the current record. Which way should I go? Is it also possible to
do this based on criteria from the previous record?

Nov 12 '05 #2
Tym
On Mon, 29 Dec 2003 18:10:01 GMT, "Larry Linson"
<bo*****@localhost.not> wrote:
For a "semi-automatic" approach, you can simply use Ctrl plus the
single-quote, which will fill the Control with the value from the
previously-entered Record.


....and this keyboard shortcut is documented *where* ? :-)
Nov 12 '05 #3
"Tym" <no*****@ictis.net> wrote in message
news:3f**************@169.100.100.5...
On Mon, 29 Dec 2003 18:10:01 GMT, "Larry Linson"
<bo*****@localhost.not> wrote:
For a "semi-automatic" approach, you can simply use Ctrl plus the
single-quote, which will fill the Control with the value from the
previously-entered Record.


...and this keyboard shortcut is documented *where* ? :-)


Microsoft Access Help -> Keyboard Shortcuts
Nov 12 '05 #4
Gene,
In addition to Larry's remarks an approach that I learned from postings here:

You can use ANY field and code in the the field's afterupdate-event something like:
Me!Field1.DefaultValue = Me!Field1
Me!Field2.DefaultValue = Me!Field2
This results in ANY new entered value 'carried-on' to the next record.

I use this for quick data-entry in one of my apps for different UserID's and WorkID's
UserID and WorkID are 'carried on' and don't need to be entered for new records.
After any new input for UserID or WorkID the new ID is 'carried-on'.

--
Hope this helps
Arno R

"Larry Linson" <bo*****@localhost.not> schreef in bericht
news:Z5****************@nwrddc01.gnilink.net...
First, let me point out that the terms "next" and "previous" can be
misleading in relational database. By definition, records in a relational
table are unordered, and you cause them to be ordered by specifying sort
fields in a query (which is the same as an ORDER BY clause in SQL).

That said, assuming that you are specifying an order during data entry that
will be the order you obtain by sorting on output, then it is relatively
easy, in VBA code, to define form-level variables into which you save the
values of the Form's Controls in the AfterUpdate event of the Form. You can
then put VBA code in the OnCurrent event of a new record to use those
variables both to set Controls in the new Record and as criteria in
conditional VBA statements such as IF ... THEN ....

Even if the records are not being entered in order, but you can identify
what the "previous" record should be (by a field value, such as an Order
Number, Customer Number, or a combination of field values), you can write
VBA code to read the previous record from the table, and obtain its values.

For a "semi-automatic" approach, you can simply use Ctrl plus the
single-quote, which will fill the Control with the value from the
previously-entered Record.

Larry Linson
Microsoft Access MVP

"Gene" <hr*****@yahoo.com> wrote in message
news:47**************************@posting.google.c om...
When entering a record in a form, I would like a value in a field of
the previous record to be entered automatically into a different field
of the current record. Which way should I go? Is it also possible to
do this based on criteria from the previous record?


Nov 12 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

10 posts views Thread by Russell Shaw | last post: by
1 post views Thread by Woody Splawn | last post: by
2 posts views Thread by Martin Ortiz | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.