I know I am not the only person who has struggled with this, but I haven't been able to find any solutions . . . yet (I'm still optimistic).
I will try to explain what I am doing:
I have a Categories table:
CatID
CatName
and I have an Subcategory table:
SubCatID
CatID
SubCatName
There are multiple subcategories in each category
I also have an Axes table:
AxisID
Cat1ID
Cat2ID
Each axis consists of a pair of categories
Finally, I have a Rules table:
RuleID
AxisID
SubCat1
SubCat2
Rule
one rule is defined between every possible combination of subcategories for each axis - the subcategories listed in the SubCat1 column are from the category that is listed under Cat1ID in the Axes table, and the subcategories listed in the SubCat2 column are from the category that is listed under Cat2ID in the Axes table, if that makes any sense at all.
After the pair of categories (the axis) is created, I automatically populate the rules table with all of the possible subcategory combinations, no problem there. So my Rules table, before it is filled in, looks like this:
RulesID AxisID SubCat1 SubCat2 Rule
1........... 1........... A.......... a
2........... 1........... B........... a
3........... 1........... C.......... a
4........... 1........... A.......... b
5........... 1........... B........... b
6........... 1........... C.......... b
. . . and so on
Then the rules have to be defined by hand. They want a form that looks like this to use for the rules entry:
---------------SubCat2:
SubCat1: a ------- b------- c
A.......... Yes....... No......... No
B........... Yes....... Yes....... No
C.......... No......... Yes....... Yes
(the user will type in "Yes" or "No" in each space in the grid)
Obviously, if I base the form on a crosstab query of the rules table, then the user will not be able to enter any data.
So far the only suggestion I have seen is to dynamically create an unbound form that mimics the look of a crosstab , but with a grid size of up to 300 by 300, I am not sure that is really feasible. That would mean a total of 600 labels that would have to be defined at runtime, and 90,000 unbound text boxes, yikes! Is there any other way to go about this? I can change my data structure if it would help . . .
I will try to explain what I am doing:
I have a Categories table:
CatID
CatName
and I have an Subcategory table:
SubCatID
CatID
SubCatName
There are multiple subcategories in each category
I also have an Axes table:
AxisID
Cat1ID
Cat2ID
Each axis consists of a pair of categories
Finally, I have a Rules table:
RuleID
AxisID
SubCat1
SubCat2
Rule
one rule is defined between every possible combination of subcategories for each axis - the subcategories listed in the SubCat1 column are from the category that is listed under Cat1ID in the Axes table, and the subcategories listed in the SubCat2 column are from the category that is listed under Cat2ID in the Axes table, if that makes any sense at all.
After the pair of categories (the axis) is created, I automatically populate the rules table with all of the possible subcategory combinations, no problem there. So my Rules table, before it is filled in, looks like this:
RulesID AxisID SubCat1 SubCat2 Rule
1........... 1........... A.......... a
2........... 1........... B........... a
3........... 1........... C.......... a
4........... 1........... A.......... b
5........... 1........... B........... b
6........... 1........... C.......... b
. . . and so on
Then the rules have to be defined by hand. They want a form that looks like this to use for the rules entry:
---------------SubCat2:
SubCat1: a ------- b------- c
A.......... Yes....... No......... No
B........... Yes....... Yes....... No
C.......... No......... Yes....... Yes
(the user will type in "Yes" or "No" in each space in the grid)
Obviously, if I base the form on a crosstab query of the rules table, then the user will not be able to enter any data.
So far the only suggestion I have seen is to dynamically create an unbound form that mimics the look of a crosstab , but with a grid size of up to 300 by 300, I am not sure that is really feasible. That would mean a total of 600 labels that would have to be defined at runtime, and 90,000 unbound text boxes, yikes! Is there any other way to go about this? I can change my data structure if it would help . . .