From: Wizbard on
I'm back... embarrassed to admit that I got it working for about a day and
then accidentally deleted my subform and haven't been able to recreate it
properly again.

JWV, I took your advice and went with 3 tables: Households, Committees and
CommMembers. I joined them through linking the ID fields of Households and
Committees into Households_ID and Committees_ID number fields that I set up
in the CommMember table.

I created the main form, frm-Committees, using the ID, Committee, Action
Items and Objectives fields from the Committees table.

I created the subform, subfrm-Committees, using the Role field from
CommMembers and the ID, Household Head, Phone (and other) fields from the
Households table.

Here's where I get lost: I want to use a combo box in place of the
Households Head field in the subform to select from a dropdown list of
Household Heads, which, when a name is selected, pulls the rest of the
contact info from Households table (which has already been populated) into
the subform record and eventually adds the Role, Objectives and Action Items
data to their respective tables.

Currently, when I select a name from the Households list, it creates a new
record in Households and populates the Household Head field in the new record
with the Household Head ID number, rather than the name. I don't want to be
changing Households at all, just get the name from that table.

I suspect my problem is in which fields I am joining and, perhaps the types
of joins between the tables, but I've gone round and round without getting
it right for two or three days. I'm just using wizards because I don't yet
grasp the code itself.

Can you help by suggesting which field from the main form I should be
joining to which field on the subform and what types of joins they should be?

Many thanks for your patience on what should be obvious to me.


Green and Growing

"John W. Vinson" wrote:

> On Thu, 6 May 2010 08:57:00 -0700, Wizbard <Wizbard(a)>
> wrote:
> >I know I should know how to do this and have probably done it before, but
> >can't seem to get it right:
> >
> >Tables: Households (Many) Committees (One)
> >Fields: (Standard Contact Info Fields) (Chair & 12 # fields for Members)
> >Many to One Join on Committees.ID to Households.Committees_ID
> >
> >I want to be able to build a Committes query and form that 1) in the form
> >selects a name from a Households.Head dropdown list in each Member (1, 2, 3,
> >etc) field; 2) after selection, displays Phone and Email info beside each
> >Committe.Member's name; 3) stores relational data in the proper table.
> >
> >I haven't done much Visual Basic, but I have a little experience with macros.
> >
> >Any tips, pointers and outright solutions are greatly appreciated.
> If you have twelve fields for members... you have a spreadsheet, not a
> normalized database! in other words your table structure isn't appropriate.
> And if you have a committees_ID field in Households, you are saying that each
> person may be on one, and only one, committee. In most organizations that's
> not realistic.
> I'd suggest that you instead use a normalized many to many relationship,
> allowing each Committee to have any number of members, and each person to
> serve on any number of committees:
> Committees
> CommitteeID <primary key>
> CommiteeName
> <other info about the committee as an entity in its own right>
> Households
> HouseholdID
> <contact info>
> CommitteeMembership
> CommitteeID < link to Committees >
> HouseholdID < link to Households >
> Role <e.g. "Chair", "Secretary">
> I'd strongly urge that you avoid the "lookup" feature: see
> for a critique. Instead use a Form with a Subform, using combo boxes on the
> forms as appropriate. It's not necessary to have a Lookup Field in the table
> to do so, and in fact you should not be entering data in tables at all.
> --
> John W. Vinson [MVP]
> .