Removing Sort Order?

D

Debris

Hello,

Hope I'm using my database design terms correctly, and that this make sense.

In a secondary table, I'm using the Lookup Wizard to look up a values in a
primary table. In the primary table, there is only one field, and that
field is the primary key (i.e, I'm not using AutoNum to create a numerical
primary key, I'm using the text itself as the key).

I entered my records in the primary table a specific order, but Access keeps
rearranging them in alphabetical order, and I don't want that. The Remove
Filter/Sort command doesn't seem to do the trick.

Example:

In the Ratings field of my ProductInformation Table, I choose from a list of
ratings found in the Ratings Table.
The choices are Excellent, Average, Poor, but Access immediately rearranges
my records to Average, Excellent, Poor (i.e. alphabetical), and this is the
order they appear in the drop-down menu in the ProductInformation Table.

Any suggestions?

Thanks,

D Bris
 
J

John Vinson

Hello,

Hope I'm using my database design terms correctly, and that this make sense.

In a secondary table, I'm using the Lookup Wizard to look up a values in a
primary table. In the primary table, there is only one field, and that
field is the primary key (i.e, I'm not using AutoNum to create a numerical
primary key, I'm using the text itself as the key).

I entered my records in the primary table a specific order, but Access keeps
rearranging them in alphabetical order, and I don't want that. The Remove
Filter/Sort command doesn't seem to do the trick.

A Table is displayed sorted in primary key order. It's actually STORED
in whatever order Access finds convenient. If you want the records in
a particular order, you must - no choice! - add another field to the
table as a sort key, and base your combo box on a query sorting by
this field.

Note that the Lookup Wizard is really limited and many developers
recommend against ever using it. See
http://www.mvps.org/access/lookupfields.htm for a critique. You can
use a Form with a combo box; table datasheets are *not* ideal for data
entry or editing.


John W. Vinson[MVP]
 
R

Rick Brandt

Debris said:
Hello,

Hope I'm using my database design terms correctly, and that this make
sense.
In a secondary table, I'm using the Lookup Wizard to look up a values
in a primary table. In the primary table, there is only one field,
and that field is the primary key (i.e, I'm not using AutoNum to
create a numerical primary key, I'm using the text itself as the key).

I entered my records in the primary table a specific order, but
Access keeps rearranging them in alphabetical order, and I don't want
that. The Remove Filter/Sort command doesn't seem to do the trick.

Tables have no guaranteed order and the default that you usually get is by the
PK value which is what you are getting. Add a number field and enter numbers
into it that you can sort on that give you the order you want.
 
D

Duane Hookom

If you want to view records in a specific order, add a field/value to the
table that allows you to specify the order.
 
T

tina

all primary key fields are indexed, so the values are going to be in a
specific order - since the field is Text data type, the order will be
alphabetic. if you want to *display* the values in an order of your own
choosing, add a SortBy field to the table with a data type of Number, field
size Byte. number each record in the order you want it sorted.

in a combo box control (in a form), you can set the RowSource property to

SELECT NameOfRatingsField FROM NameOfRatingsTable ORDER BY SortBy;

substitute the correct name of the ratings table, and the correct name of
the rating field in the table, of course.

and last but not least, i strongly recommend that you do not use a Lookup
field in any table in your database. see
http://www.mvps.org/access/lookupfields.htm for more information. you can
use a combo box control in a *form*, as noted above; data entry should be
done in forms anyway, not directly in tables.

hth
 
D

Debris

Hello,

Thanks to everyone for their responses. I can feel myself wandering off
into the deep end of the pool, so to speak, so bear with me if these
questions are a bit simplistic.

First, a tactical question: should I add a "SortBy" number field, or should
I just let Access create a primary key for me using AutoNum? Or, should I
add the SortBy number field, populate it manually, and make *it* the PK?

Next, a philosophical one: totally agree w/ the use of forms and a combo
box. But, I guess I'm confused -- shouldn't the combo box be looking up
values stored in a table? I define a relationship between tables using the
Lookup Wizard, then modify it (i.e. enforce referential integrity) using the
Edit Relationships box. Am I totally off base here? Again, stepping off
into the the deep end...

Thanks,

D Bris
 
T

tina

comments inline.

Debris said:
Hello,

Thanks to everyone for their responses. I can feel myself wandering off
into the deep end of the pool, so to speak, so bear with me if these
questions are a bit simplistic.

First, a tactical question: should I add a "SortBy" number field, or should
I just let Access create a primary key for me using AutoNum? Or, should I
add the SortBy number field, populate it manually, and make *it* the PK?

at some point in the future, you may add more selections to this list.
whether you use an Autonumber primary key, or manually populate a numeric
primary key, you're "locked in" to that number sequence - which may not
return the order you want, on either an ascending or descending sort. with a
separate SortBy field, you can change the sort order of the records at any
time, any way you choose, giving you complete control, and complete
flexibility to meet changing needs.
Next, a philosophical one: totally agree w/ the use of forms and a combo
box. But, I guess I'm confused -- shouldn't the combo box be looking up
values stored in a table?
yes.

I define a relationship between tables using the
Lookup Wizard, then modify it (i.e. enforce referential integrity) using the
Edit Relationships box.

you don't need a Lookup Wizard to link your tables - just open the
Relationships window and do it manually, including enforcing referential
integrity. note: be careful about setting the CascadeDelete option. it
definitely has its' uses, but many times you will *not* want an automatic
deletion of "child" records; what you'll want, instead, is to disallow
deletion of a "parent" record when one or more child records exist. this is
accomplished by enforcing referential integrity and *not* checkmarking the
CascadeDelete option.

hth
 
D

Debris

Thanks. Excellent point -- I couldn't go back re-sort the list (especially
add an item between two existing items) if I were using AutoNum and letting
Access set the PK for me.

The SortOrder works great. Next question, though, is that on a *Report* I
can't seem to sort my categories with out also including / printing the
SortOrder field. I guess I could set the column width to zero, but that
seems sort of... whatever.

BTW, what I'm doing is extracting hundreds of transactions for a given
project, sorting them into several categories and subcategories (two
levels), and totalling up the transaction amounts for each cat/subcat. --
ie,

Phase 1 Engineering....$
Phase 1 Materials....$
Phase 1 Labor....$
Phase 2 Engineering....$
Phase 2 Materials....$

and so on. And I want the categories to appear in a certain
(non-alphabetical!) order, hence the original question.

Thanks
 
J

Jamie Collins

Debris said:
Hope I'm using my database design terms correctly, and that this make sense.

In a secondary table, I'm using the Lookup Wizard to look up a values in a
primary table. In the primary table, there is only one field

In the SQL standards and in the SQL literature, the 'primary' table is
called the referenced table and the 'secondary' table is the
referencing table; these can be considered the definitive terms. More
controversial is 'field': the literature and the purists will use
'columns' and 'rows' but the terms 'fields' and 'records' are so widely
used that they should be considered synonyms.

Jamie.

--
 
G

Guest

BTW, what I'm doing is extracting hundreds of transactions for a given
project, sorting them into several categories and subcategories (two
levels), and totalling up the transaction amounts for each cat/subcat. --

For a project, it would seem that an obvious field to use for sorting would
be a date field, such as the date that an item is received, or the date that
a particular job is completed. Then a sort on the date field would place any
new entry in its proper place chronologically on a list. A date field can
also be useful for sorting out what has not been completed.
 
T

Tim Ferguson

More
controversial is 'field': the literature and the purists will use
'columns' and 'rows' but the terms 'fields' and 'records' are so widely
used that they should be considered synonyms.

.... or entities and attributes...

<g>

Tim F
 
T

tina

*column* width? on a *report*? are you actually working with a report
object, or are you trying to print a form? if the latter, then don't;
instead, create a report and set it up to sort however you want, and display
whatever fields you want to see, and print that.

hth
 
D

Debris

Sorry, misspoke.

What I was trying to say earlier was,

In a report, I seem to be able to get my records to sort in my particular
order only if I include my SortBy field on the report itself. Put another
way, I can't figure out how to get the records to sort by my SortBy field
unless I include it in the report.

What was also trying to say earlier, I guess I can "hide" the SortBy on the
report field by making the width of the text box (terminology? it's not the
box with the label, but the box where the data is presented) zero. But that
seems sort of a workaround.

Thanks, D
 
T

tina

well, the SortBy field must be included in *the report's RecordSource*, but
there should be no need to actually put a control on the report and bind it
to the field. are you setting the report's sort order in the Sorting and
Grouping box? if so, have you tried sorting by the SortBy field, without
having a control bound to that field in the report's body?

if that doesn't work, even after you've set it up correctly, go ahead and
bind a control to the SortBy field, and just set the control's Visible
property to No.

hth
 
D

Debris

Thanks.

Setting the Visible property to "No" is good, quick solution. That did the
trick.

*Bear in mind that (a) I was using the report wizard because (b) I hate
working on report design. But now I'm a little less intimidated and will
start modifying the report in the Design view.

I've gone way off topic here, from table design to reports, so I'll wrap
this up.

Thanks for all of the help,

D
 
T

tina

you're welcome :)


Debris said:
Thanks.

Setting the Visible property to "No" is good, quick solution. That did the
trick.

*Bear in mind that (a) I was using the report wizard because (b) I hate
working on report design. But now I'm a little less intimidated and will
start modifying the report in the Design view.

I've gone way off topic here, from table design to reports, so I'll wrap
this up.

Thanks for all of the help,

D
 
D

Debris

A belated, quick follow-up:

I found Grouping & Sorting, a very powerful tool. That's exactly what I
needed -- a means to sort entries on a report by a field that doesn't
necessarily show up on the report.

And, those wizards can be evil! I got so wrapped up in the wizard that I
ignored the G&S button right in front of me.

Thanks, D
 

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