A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » General Discussion
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Two autonumber fields in one table possible?



 
 
Thread Tools Display Modes
  #11  
Old June 3rd, 2010, 08:05 PM posted to microsoft.public.access
Sharon_wv
external usenet poster
 
Posts: 8
Default Two autonumber fields in one table possible?

Jeff-
You are so helpful... thank you so much. Okay, here's the rationale for why
I need the numbering separate. We are going to be managing two separate
tracks of a project (with different people leading/managing each track).
However, all of the data will be coming into the group via a central
repository. Because "Sue" will be managing Category A and "Joe" will be
managing Category B, the requirement from each of them was to have their
areas separate and distinct from each other. If I assign tracking #s to each
of pieces of data consecutively (0001 to 2000), I'm/they are afraid that
something may slip through the cracks. Therefore, it is preferred that the
numbering start from 1 and increase by one for each category.

Therefore, the tracking numbers for Category A would be numbered from A0001,
A0002.... A188, A189...etc. And Category B would be numbered from B0001,
B0002.... B345, B346, etc. This way each manager will be know they are
responsible. We will also know exactly how many files each manager is
responsible. Having those numbers sequential by track will also make
reporting a lot more simple as well.

Does that make better sense to you? Can you think of another way to
differentiate between the tracks other than doing it manually before we start
assigning numbers or by having two separate copies of the database?


"Jeff Boyce" wrote:

As long as your approach requires you to "assign the next sequential number
.... (e.g. B1825)", you are still confusing data with display.

If you have a category field ("A" or "B" ...) and you have a sequence number
field (1, 2, ..., 1825, ...), you do NOT need to store the two fields in a
third field. Use a query to concatenate, say, "B" and "1825" for display
purposes.

Now, if you are saying that you want to have sequence numbers for BOTH
category A and category B, and that the sequence numbers are independent
(i.e., you could have "A" & "123" AND "B" & "123"), that's only slightly
more work.

If that's the case, check online for "custom autonumber" for several
different approaches/procedures. The generic notion is that your procedure
checks for the maximum sequence number used for whatever category is
indicated, then adds one.

By the way, why?! What is it that you want to be able to use the, say,
"A123" to do? If you'll describe a bit more specifically what you hope to
accomplish (not "how"), folks here may be able to offer alternate solutions.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Jeff -

I have a field to collect the category. The choices are in a separate
table
(Category Choice) w/ just two records (Category A and Category B). The
person doing data entry will select one. That's the easy part for me.

The difficulty comes in the next step -- if the user selects Category A in
that record, I want it to the assign the next sequential number for that
Category (e.g. A0121 or A0122). If the user selects Category B, I want it
to
assign the next sequential number that that category (e.g. B1825 or B1921,
etc.). I will probably use the Category Choice table to capture the A and
B
by adding another column to that table. Then I will use that field in a
query to concantenate to give me the Identifier.

The problem I'm having is figuring out how to have Access give me a
sequential numbers for both Category A and Category B (dependent on user
selection on form).

Does that make better sense of my scenario and what I am attempting to do?
I find it difficult to capture all my thoughts and needs for you in a
message. I appreciate your patience with me.

Sharon

"Jeff Boyce" wrote:

Sharon

If you or your data entry person(s) have to enter data and categorize it,
you probably need a field in which to put the category.

First add the field to the table. Then add the field to the form.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Jeff -

I'm sorry I wasn't clear. The records to be entered would come to the
group
in a random order and fall into either Category A or Category B. I am
trying to prevent us having to receive all records adn then have to
manually
separate the records by Category prior to beginning the data entry
process
into Access. I would like to have the ability to enter the records as
they
are received regardless of what category they fall into.

Thanks again for the help. I am truly appreciative of your assistance!

Sharon


"Jeff Boyce" wrote:

Sharon

In your original post, it seemed like you were saying that sequence
numbers
1-200 all belonged in category A. Then all the remaining sequence
numbers
(201-1800) belonged in category B.

If that's true, the sequence numbers would be unique ... and that's
what
you
need for relating to other tables!

What am I missing?

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services
mentioned
in this post. Mention and/or description of a product or service
herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with
no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Thank you both for your quick responses. My new hurdle, based on
your
responses, has to do with the relationships I've set up with other
tables.
I've used the ID field as my field to relate the tables through.
But
that
will not work based now, will it? Both categories A & B (in the
main
table)
will have the same one-to-many relationship with the other tables
and
the
ID
field was the unique field I used to relate them. Any suggestions
of
what
I
can use instead? Can I still have the auto-number for that purpose
(Unique
Identifier) & then do the sequencing in other fields maybe in the
main
table?
I am very rusty since I haven't played with Access in a couple
years.
Plus
I now have 2007 so I'm getting used to the difference in looks...

Thanks again for your quick responses. I truly appreciate the help!

"Jeff Boyce" wrote:

As Arvin points out, the Access Autonumber is not what you're
looking
for.
Based on your description, you have two fields, not one.

One field is the "category" (A or B). The other field is a
sequence
number
(1-1800). Don't store those two "facts" in a single field --
instead,
use a
query to concantenate them as needed.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services
mentioned
in this post. Mention and/or description of a product or service
herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is",
with
no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
I am designing a database to capture information that will be
classified
into
two separate categories. I would like to autonumber each record
by
category.
Is that possible? For example, I will likely have 2000 total
records
with
200 of those records in Category A and 1800 of the records in
Category
B.
The information will come to the data entry group in a random
format.
I
would like to prevent separating the information into the two
categories
manually or need to enter them in two separate forms dependent on
the
category.


Can I have MS Access autonumber them like this?:

A001 to A200 (for Category A) and then B001 to B1800 (for
Category
B)
on
the
same data entry form?

If so, how would I go about doing that? Any assistance will
certainly
be
appreciated!!

Sharon


.



.



.



.

  #12  
Old June 3rd, 2010, 08:16 PM posted to microsoft.public.access
Jeff Boyce
external usenet poster
 
Posts: 8,621
Default Two autonumber fields in one table possible?

Sharon

It sounds like you/researchers are trying to use the sequence number to
"count" the number of records. If so, stop now!

If you use an Access Autonumber, there's no guarantee that the numbers will
be sequential -- that's not what they're designed to do.

If you use a "roll-your-own-'custom'-autonumber" procedure, there is STILL
no guarantee that the largest sequence number (e.g., 1895) represents the
"count" of records (because you could have 100 missing sequence numbers in
the middle of the run!).

If what you REALLY need is to count the number of records, count them! Use
a Totals query, use the Count aggregation, and GroupBy Category. Access
will come up with the number of "A"s and the number of "B"s without any
reference to (or need to use) the "id" numbers.

.... and if the ONLY reason why the design involved so-called sequence
numbers, you could do away with them altogether! Just make sure you have a
unique row identifier for each record (here's where an Access Autonumber
data type field would work just fine). You'd still just use the Totals
query.

Good luck!

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Jeff-
You are so helpful... thank you so much. Okay, here's the rationale for
why
I need the numbering separate. We are going to be managing two separate
tracks of a project (with different people leading/managing each track).
However, all of the data will be coming into the group via a central
repository. Because "Sue" will be managing Category A and "Joe" will be
managing Category B, the requirement from each of them was to have their
areas separate and distinct from each other. If I assign tracking #s to
each
of pieces of data consecutively (0001 to 2000), I'm/they are afraid that
something may slip through the cracks. Therefore, it is preferred that
the
numbering start from 1 and increase by one for each category.

Therefore, the tracking numbers for Category A would be numbered from
A0001,
A0002.... A188, A189...etc. And Category B would be numbered from B0001,
B0002.... B345, B346, etc. This way each manager will be know they are
responsible. We will also know exactly how many files each manager is
responsible. Having those numbers sequential by track will also make
reporting a lot more simple as well.

Does that make better sense to you? Can you think of another way to
differentiate between the tracks other than doing it manually before we
start
assigning numbers or by having two separate copies of the database?


"Jeff Boyce" wrote:

As long as your approach requires you to "assign the next sequential
number
.... (e.g. B1825)", you are still confusing data with display.

If you have a category field ("A" or "B" ...) and you have a sequence
number
field (1, 2, ..., 1825, ...), you do NOT need to store the two fields in
a
third field. Use a query to concatenate, say, "B" and "1825" for display
purposes.

Now, if you are saying that you want to have sequence numbers for BOTH
category A and category B, and that the sequence numbers are independent
(i.e., you could have "A" & "123" AND "B" & "123"), that's only slightly
more work.

If that's the case, check online for "custom autonumber" for several
different approaches/procedures. The generic notion is that your
procedure
checks for the maximum sequence number used for whatever category is
indicated, then adds one.

By the way, why?! What is it that you want to be able to use the, say,
"A123" to do? If you'll describe a bit more specifically what you hope
to
accomplish (not "how"), folks here may be able to offer alternate
solutions.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Jeff -

I have a field to collect the category. The choices are in a separate
table
(Category Choice) w/ just two records (Category A and Category B). The
person doing data entry will select one. That's the easy part for me.

The difficulty comes in the next step -- if the user selects Category A
in
that record, I want it to the assign the next sequential number for
that
Category (e.g. A0121 or A0122). If the user selects Category B, I want
it
to
assign the next sequential number that that category (e.g. B1825 or
B1921,
etc.). I will probably use the Category Choice table to capture the A
and
B
by adding another column to that table. Then I will use that field in
a
query to concantenate to give me the Identifier.

The problem I'm having is figuring out how to have Access give me a
sequential numbers for both Category A and Category B (dependent on
user
selection on form).

Does that make better sense of my scenario and what I am attempting to
do?
I find it difficult to capture all my thoughts and needs for you in a
message. I appreciate your patience with me.

Sharon

"Jeff Boyce" wrote:

Sharon

If you or your data entry person(s) have to enter data and categorize
it,
you probably need a field in which to put the category.

First add the field to the table. Then add the field to the form.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services
mentioned
in this post. Mention and/or description of a product or service
herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with
no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Jeff -

I'm sorry I wasn't clear. The records to be entered would come to
the
group
in a random order and fall into either Category A or Category B. I
am
trying to prevent us having to receive all records adn then have to
manually
separate the records by Category prior to beginning the data entry
process
into Access. I would like to have the ability to enter the records
as
they
are received regardless of what category they fall into.

Thanks again for the help. I am truly appreciative of your
assistance!

Sharon


"Jeff Boyce" wrote:

Sharon

In your original post, it seemed like you were saying that sequence
numbers
1-200 all belonged in category A. Then all the remaining sequence
numbers
(201-1800) belonged in category B.

If that's true, the sequence numbers would be unique ... and that's
what
you
need for relating to other tables!

What am I missing?

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services
mentioned
in this post. Mention and/or description of a product or service
herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is",
with
no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in message
...
Thank you both for your quick responses. My new hurdle, based on
your
responses, has to do with the relationships I've set up with
other
tables.
I've used the ID field as my field to relate the tables through.
But
that
will not work based now, will it? Both categories A & B (in the
main
table)
will have the same one-to-many relationship with the other tables
and
the
ID
field was the unique field I used to relate them. Any
suggestions
of
what
I
can use instead? Can I still have the auto-number for that
purpose
(Unique
Identifier) & then do the sequencing in other fields maybe in the
main
table?
I am very rusty since I haven't played with Access in a couple
years.
Plus
I now have 2007 so I'm getting used to the difference in looks...

Thanks again for your quick responses. I truly appreciate the
help!

"Jeff Boyce" wrote:

As Arvin points out, the Access Autonumber is not what you're
looking
for.
Based on your description, you have two fields, not one.

One field is the "category" (A or B). The other field is a
sequence
number
(1-1800). Don't store those two "facts" in a single field --
instead,
use a
query to concantenate them as needed.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services
mentioned
in this post. Mention and/or description of a product or service
herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is",
with
no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.

"Sharon_wv" wrote in
message
...
I am designing a database to capture information that will be
classified
into
two separate categories. I would like to autonumber each
record
by
category.
Is that possible? For example, I will likely have 2000 total
records
with
200 of those records in Category A and 1800 of the records in
Category
B.
The information will come to the data entry group in a random
format.
I
would like to prevent separating the information into the two
categories
manually or need to enter them in two separate forms dependent
on
the
category.


Can I have MS Access autonumber them like this?:

A001 to A200 (for Category A) and then B001 to B1800 (for
Category
B)
on
the
same data entry form?

If so, how would I go about doing that? Any assistance will
certainly
be
appreciated!!

Sharon


.



.



.



.



  #13  
Old June 4th, 2010, 12:22 AM posted to microsoft.public.access
Sharon_wv
external usenet poster
 
Posts: 8
Default Two autonumber fields in one table possible?

Ken & Jeff -
I totally understand your logic for wanting me to stop. However, let me
give you more details about the records that we will be capturing. With each
record, there will be a corresponding file (many binders, etc.) that go along
with the record. These binders, etc. will be filed in a large library
according to their tracking numbers. Each track of hard copy records, if my
plan for numbering works, will be filed in different areas. In order to make
finding records easier, I was hoping to assign sequential tracking numbers
for each track of records (Category A and Category B). So it wasn't just for
counting purposes, but for overall organizational purposes of both physical
records and digital records. BUT, I suppose that assigning the A-xxxx vs.
B-xxxx will do just that as well, without having to violate the integrity of
a database. I can also just assign the numbers to each record after entering
all the data as well, instead of having Access do it for me. Once I have
them all logged in Access, it will be simple to do something like that.

I really really really appreciate your expertise in leading me in the right
direction, gentlemen! So sorry to take up so much of your valuable time!!

Sharon

"KenSheridan via AccessMonster.com" wrote:

As Jeff says the key question here is why? As the numbers are, like a true
autonumber, arbitrary, it's difficult to see what purpose they fulfil. The
column cannot be the primary key obviously as there will be duplication
between categories. The primary key would have to be a composite one of the
category and serial number columns, it being a bad idea, as Jeff has
explained, to encode the category in the 'number' as this introduces
redundancy and the possibility of inconsistent data.

If there is a real reason why you need to serially number each row per
category in the order in which they are inserted into the table then I'd
suggest an alternative approach, which is to include a column DateTimeStamp
with a DefaultValue property of Now(). This will automatically contain the
date and time when each row is inserted. You can then number the subsets of
each category in date/time order in a query, e.g.

SELECT COUNT(*) AS SerialNumber, T1.Category, T1.SomeField
FROM YourTable AS T1 INNER JOIN YourTable AS T2
ON T2.DateTimeStamp = T1.DateTimeStamp
AND T2.Category = T1.Category
GROUP BY T1.Category, T1.SomeField;

You can of course include other columns from the table, but they must be
included in the GROUP BY clause as well as the SELECT clause.

Note that the numbering is dynamic; if a row is deleted from the table the
SerialNumber values computed by the query will reflect the number of existing
rows following the deletion rather than leaving a gap as would be the case if
you assign values to a column in the table.

Ken Sheridan
Stafford, England

Sharon_wv wrote:
Jeff -

I have a field to collect the category. The choices are in a separate table
(Category Choice) w/ just two records (Category A and Category B). The
person doing data entry will select one. That's the easy part for me.

The difficulty comes in the next step -- if the user selects Category A in
that record, I want it to the assign the next sequential number for that
Category (e.g. A0121 or A0122). If the user selects Category B, I want it to
assign the next sequential number that that category (e.g. B1825 or B1921,
etc.). I will probably use the Category Choice table to capture the A and B
by adding another column to that table. Then I will use that field in a
query to concantenate to give me the Identifier.

The problem I'm having is figuring out how to have Access give me a
sequential numbers for both Category A and Category B (dependent on user
selection on form).

Does that make better sense of my scenario and what I am attempting to do?
I find it difficult to capture all my thoughts and needs for you in a
message. I appreciate your patience with me.

Sharon

Sharon

[quoted text clipped - 121 lines]

.


--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/201006/1

.

  #14  
Old June 4th, 2010, 01:19 AM posted to microsoft.public.access
John W. Vinson
external usenet poster
 
Posts: 18,261
Default Two autonumber fields in one table possible?

On Thu, 3 Jun 2010 16:22:09 -0700, Sharon_wv
wrote:

Ken & Jeff -
I totally understand your logic for wanting me to stop. However, let me
give you more details about the records that we will be capturing. With each
record, there will be a corresponding file (many binders, etc.) that go along
with the record. These binders, etc. will be filed in a large library
according to their tracking numbers. Each track of hard copy records, if my
plan for numbering works, will be filed in different areas. In order to make
finding records easier, I was hoping to assign sequential tracking numbers
for each track of records (Category A and Category B). So it wasn't just for
counting purposes, but for overall organizational purposes of both physical
records and digital records. BUT, I suppose that assigning the A-xxxx vs.
B-xxxx will do just that as well, without having to violate the integrity of
a database. I can also just assign the numbers to each record after entering
all the data as well, instead of having Access do it for me. Once I have
them all logged in Access, it will be simple to do something like that.

I really really really appreciate your expertise in leading me in the right
direction, gentlemen! So sorry to take up so much of your valuable time!!


Just to reiterate Ken and Jeff's point:

You do NOT need one field containing the category and the sequential number.

You need *two different fields* - one of them for the category, the other for
the number. Combining them into one field is neither necessary nor beneficial.
You can very easily *display* them together; just use a calculated field in a
Query or in the Control Source of a form or report textbox set to

[Category] & Format([Seqno], "0000")

to display A0001, B3128 or the like.

To assign category-specific sequential numbers, you'll need to use VBA code in
the data entry form (and yes, you will need to use a Form). You could use a
combo box to select the category (this will allow more categories if that
should happen in the future); in the combo box's AfterUpdate event use code
like

Private Sub cboCategory_AfterUpdate()
'Only assign a new number if it's the new record; one has not yet
'been assigned already; and the user did select a category
If Me.NewRecord AND IsNull(me![Seqno]) And Not IsNull(Me!cboCategory) Then
Me![Seqno] = NZ(DMax("[Seqno]", "[yourtablename]", _
"[Category] = '" & Me!cboCategory & "'")
End If
End Sub

--

John W. Vinson [MVP]
  #15  
Old June 4th, 2010, 04:24 PM posted to microsoft.public.access
KenSheridan via AccessMonster.com
external usenet poster
 
Posts: 1,610
Default Two autonumber fields in one table possible?

Sharon:

One thing worth adding to John's reply is that if the database is in a multi-
user environment, and two or more users could be adding a new record of the
same category simultaneously, this would give rise to a conflict as both
would get the same new number. If the category and serial number columns are
the composite primary key of the table, or otherwise indexed uniquely
(together not individually), which they should be, an error would occur when
the second user trying to save the record does so as this would violate the
index.

Roger Carlson has a simple solution to this at:

http://www.rogersaccesslibrary.com/forum/topic395.html

and there's a more complex one of mine, which also allows the next number to
be used to be 'seeded' at any time, at:

http://community.netscape.com/n/pfx/...g=ws-msdevapps


Both of these are for a single sequence of numbers, however, so for two
sequences some modification would be needed. If you need help to implement
either of these in the context of your database post back.

Ken Sheridan
Stafford, England

Sharon_wv wrote:
Ken & Jeff -
I totally understand your logic for wanting me to stop. However, let me
give you more details about the records that we will be capturing. With each
record, there will be a corresponding file (many binders, etc.) that go along
with the record. These binders, etc. will be filed in a large library
according to their tracking numbers. Each track of hard copy records, if my
plan for numbering works, will be filed in different areas. In order to make
finding records easier, I was hoping to assign sequential tracking numbers
for each track of records (Category A and Category B). So it wasn't just for
counting purposes, but for overall organizational purposes of both physical
records and digital records. BUT, I suppose that assigning the A-xxxx vs.
B-xxxx will do just that as well, without having to violate the integrity of
a database. I can also just assign the numbers to each record after entering
all the data as well, instead of having Access do it for me. Once I have
them all logged in Access, it will be simple to do something like that.

I really really really appreciate your expertise in leading me in the right
direction, gentlemen! So sorry to take up so much of your valuable time!!

Sharon

As Jeff says the key question here is why? As the numbers are, like a true
autonumber, arbitrary, it's difficult to see what purpose they fulfil. The

[quoted text clipped - 57 lines]

.


--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...ccess/201006/1

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 06:28 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.