John,
Thanks...actually I did originally define both fields as the primary key.
Basically, what I have is an invoice table, an invoice-source junction
table, and a source table. What I found was that when I added more than one
source to an invoice, I would get the error message. As you suggested, I do
have a a form
based on the "invoice" table, and a subform based on the invoice-source
junction
table. Here is the SQL query on which the form-subform is based:
SELECT jnct_Invoice_Source.Invoice_ID, jnct_Invoice_Source.Source_ID,
jnct_Invoice_Source.Amount, Source.Source_Name,
jnct_Invoice_Source.Initial_Source, jnct_Invoice_Source.Init_Source_Repaid,
jnct_Invoice_Source.jnct_Invoice_Source_ID
FROM Source INNER JOIN (Invoices INNER JOIN jnct_Invoice_Source ON
Invoices.Invoice_ID = jnct_Invoice_Source.Invoice_ID) ON Source.Source_ID =
jnct_Invoice_Source.Source_ID;
Thanks again for your help.
"John W. Vinson" wrote:
> On Tue, 13 Apr 2010 17:46:01 -0700, boooney
> <(E-Mail Removed)> wrote:
>
> >I have read that "in a junction table, you need to set the primary key to
> >include the primary key fields from the other two tables. "
>
> Well, it's a good idea, but it's not in fact obligatory.
>
> >If I do this, I keep getting the error message "the change you requested to
> >the table were not successful because they would create duplicate values in
> >the index, primary key, or relationship.
>
> Sounds like you defined just one of the fields as the primary key, rather than
> ctrl-clicking both fields and clicking the Key icon. Both foreign keys should
> have the key icon next to them in table design view - not just one of them.
>
> >The only way I'm entering data is through a form based on a query which
> >automatically writes to all 3 tables (the junction and 2 parents) at once.
>
> Generally a Very Bad Idea. Why not use the tools that Access provides - a form
> based on one of the "one" side tables, and a subform based on the junction
> table?
>
> >If I remove the primary keys in the junction tables, I no longer get the
> >error message. Am I going to regret this later?
>
> Junction tables, plural? Are there more than one?
>
> --
>
> John W. Vinson [MVP]
> .
>
|