G
Guest
I am attempting to write an Access 2000 app. There is one master table and
several tables that primarily support normalization issues. The master table
(Tickets) has the following fields: ticketID (PK), remedyID (INT),
caveatID(I), primPersonID(I), altPersonID(I), coreAreaID(I), projectID(I).
Each of the ID fields refer to other tables that contain the strings (unique
in there respective tables) that are actually displayed on the form, except
the remedyID field. That is simply a number that 'links' to another system
(conceptually only; I am not allowed to access the database system that this
would really link to).
The RecordSource for the form is a query which looks like the following:
select T.ticketID, T.remedyID, C.caveatStr, P.personLast, P1.personLast,
CA.coreName, Proj.projectName
from Caveats as C inner join (
Persons as P inner join (
Persons_1 as P1 inner join (
CoreArea as CA inner join (
Projects as Proj inner join
Tickets as T
on Proj.projectID = T.projectID)
on CA.coreID = T.coreID)
on P1.personID = T.altPersonID)
on P.personID = T.primePersonID)
on C.caveatID = T.caveatID;
(I hope I've copied that correctly. If not, apologies in advance.) The above
displays the data correctly, both in datasheet view (when run by executing
the SQL from SQL View) and form view. However, when I try adding a record, as
soon as I attempt to type anything in the one field that comes directly from
this master table (remedyID), I get the following errror on the status bar:
Cannot add record(s); join key on table 'Tickets' not in recordset
What does this mean and how to fix it? Does it mean that I have to include
the join keys with each table in my recordset, even if I am not displaying
them? And why does this only appear for the only field that is not retrieved
as a result of a join?
Any help will be greatly appreciated. TIA.
several tables that primarily support normalization issues. The master table
(Tickets) has the following fields: ticketID (PK), remedyID (INT),
caveatID(I), primPersonID(I), altPersonID(I), coreAreaID(I), projectID(I).
Each of the ID fields refer to other tables that contain the strings (unique
in there respective tables) that are actually displayed on the form, except
the remedyID field. That is simply a number that 'links' to another system
(conceptually only; I am not allowed to access the database system that this
would really link to).
The RecordSource for the form is a query which looks like the following:
select T.ticketID, T.remedyID, C.caveatStr, P.personLast, P1.personLast,
CA.coreName, Proj.projectName
from Caveats as C inner join (
Persons as P inner join (
Persons_1 as P1 inner join (
CoreArea as CA inner join (
Projects as Proj inner join
Tickets as T
on Proj.projectID = T.projectID)
on CA.coreID = T.coreID)
on P1.personID = T.altPersonID)
on P.personID = T.primePersonID)
on C.caveatID = T.caveatID;
(I hope I've copied that correctly. If not, apologies in advance.) The above
displays the data correctly, both in datasheet view (when run by executing
the SQL from SQL View) and form view. However, when I try adding a record, as
soon as I attempt to type anything in the one field that comes directly from
this master table (remedyID), I get the following errror on the status bar:
Cannot add record(s); join key on table 'Tickets' not in recordset
What does this mean and how to fix it? Does it mean that I have to include
the join keys with each table in my recordset, even if I am not displaying
them? And why does this only appear for the only field that is not retrieved
as a result of a join?
Any help will be greatly appreciated. TIA.