From: LFC on
I found out the reason I couldn't edit the field was because I am using
"group by" in my query. Is there a criteria or some other way to do the same
thing "group by" would do? I have serial numbers in 3 different tables and
need to query for when a serial number is in all three tables.

"Dirk Goldgar" wrote:

> "LFC" <LFC(a)discussions.microsoft.com> wrote in message
> news:695DCB42-BF79-4F77-BEF7-03A0ED7E4F68(a)microsoft.com...
> >I have a form in which I have an unbound textbox so that users can add
> > comments about the record. I type something into the textbox on one of
> > the
> > records and it fills whatever I wrote into all other records. I want what
> > gets typed to just stay on the one record. Any ideas?
>
>
> The obvious answer is to bind the text box to a field in the record. Is
> there a reason that the text box has to be unbound?
>
> --
> Dirk Goldgar, MS Access MVP
> Access tips: www.datagnostics.com/tips.html
>
> (please reply to the newsgroup)
>
From: Dirk Goldgar on
"LFC" <LFC(a)discussions.microsoft.com> wrote in message
news:B25AFF4A-D5AF-402A-9DFF-69F9261CDEAF(a)microsoft.com...
>I found out the reason I couldn't edit the field was because I am using
> "group by" in my query. Is there a criteria or some other way to do the
> same
> thing "group by" would do? I have serial numbers in 3 different tables
> and
> need to query for when a serial number is in all three tables.


What is the current SQL of the query, and what -- in plain words -- is it
that you want to show on your form?

--
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html

(please reply to the newsgroup)

From: LFC on
SELECT QIT_LWH_IMP_tbl.PIN, QIT_DTAC_IMP_tbl.Created, QIT_LWH_IMP_tbl.[Build
Date], QIT_LWH_IMP_tbl.[Process Date], QIT_Z3_QNOTE_tbl.Comments,
QIT_DTAC_IMP_tbl.[Optional 1], QIT_Z3_QNOTE_tbl.[Where Found],
QIT_Z3_QNOTE_tbl.Reviewed, QIT_Z3_QNOTE_tbl.[Coorelation Confirmed]
FROM QIT_Z3_QNOTE_tbl INNER JOIN (QIT_DTAC_IMP_tbl INNER JOIN
QIT_LWH_IMP_tbl ON QIT_DTAC_IMP_tbl.PIN = QIT_LWH_IMP_tbl.PIN) ON
(QIT_Z3_QNOTE_tbl.[Serial number] = QIT_LWH_IMP_tbl.PIN) AND
(QIT_Z3_QNOTE_tbl.[Serial number] = QIT_DTAC_IMP_tbl.PIN);

Essentially what I want to display is a few columns from each of the tables,
but only have records in which the PIN/serial number is located in all 3
tables. I saw someone that need to do something like this using UNION ALL.
Would that be what I need to use?


"Dirk Goldgar" wrote:

> "LFC" <LFC(a)discussions.microsoft.com> wrote in message
> news:B25AFF4A-D5AF-402A-9DFF-69F9261CDEAF(a)microsoft.com...
> >I found out the reason I couldn't edit the field was because I am using
> > "group by" in my query. Is there a criteria or some other way to do the
> > same
> > thing "group by" would do? I have serial numbers in 3 different tables
> > and
> > need to query for when a serial number is in all three tables.
>
>
> What is the current SQL of the query, and what -- in plain words -- is it
> that you want to show on your form?
>
> --
> Dirk Goldgar, MS Access MVP
> Access tips: www.datagnostics.com/tips.html
>
> (please reply to the newsgroup)
>
From: LFC on
This is my sql statement so far:

SELECT QIT_LWH_IMP_tbl.PIN, QIT_DTAC_IMP_tbl.Created, QIT_LWH_IMP_tbl.[Build
Date], QIT_LWH_IMP_tbl.[Claim Number], QIT_LWH_IMP_tbl.[Part Number],
QIT_LWH_IMP_tbl.[Failure Mode Code], QIT_Z3_QNOTE_tbl.[Where Found],
QIT_Z3_QNOTE_tbl.Reviewed, QIT_Z3_QNOTE_tbl.Comments,
QIT_Z3_QNOTE_tbl.[Coorelation Confirmed]
FROM (QIT_LWH_IMP_tbl INNER JOIN QIT_DTAC_IMP_tbl ON QIT_LWH_IMP_tbl.PIN =
QIT_DTAC_IMP_tbl.PIN) INNER JOIN QIT_Z3_QNOTE_tbl ON QIT_LWH_IMP_tbl.PIN =
QIT_Z3_QNOTE_tbl.[Serial Number]
WHERE (((QIT_LWH_IMP_tbl.PIN) Is Not Null) AND ((QIT_Z3_QNOTE_tbl.[Serial
number]) Is Not Null) AND ((QIT_DTAC_IMP_tbl.PIN) Is Not Null));

I feel like I'm just one step away because if I include group by on the
QIT_LWH_IMP_tbl.PIN then I get exactly what I'm looking for. Unfortunately I
can't figure out a way around it. I tried doing
DISTINCT(QIT_LWH_IMP_tbl.PIN) and it cut the results down significantly, but
not as much as I would like.

"Dirk Goldgar" wrote:

> "LFC" <LFC(a)discussions.microsoft.com> wrote in message
> news:B25AFF4A-D5AF-402A-9DFF-69F9261CDEAF(a)microsoft.com...
> >I found out the reason I couldn't edit the field was because I am using
> > "group by" in my query. Is there a criteria or some other way to do the
> > same
> > thing "group by" would do? I have serial numbers in 3 different tables
> > and
> > need to query for when a serial number is in all three tables.
>
>
> What is the current SQL of the query, and what -- in plain words -- is it
> that you want to show on your form?
>
> --
> Dirk Goldgar, MS Access MVP
> Access tips: www.datagnostics.com/tips.html
>
> (please reply to the newsgroup)
>
From: Dirk Goldgar on
"LFC" <LFC(a)discussions.microsoft.com> wrote in message
news:11102FC3-00CE-4CEE-855D-607C725D87BD(a)microsoft.com...
> This is my sql statement so far:
>
> SELECT QIT_LWH_IMP_tbl.PIN, QIT_DTAC_IMP_tbl.Created,
> QIT_LWH_IMP_tbl.[Build
> Date], QIT_LWH_IMP_tbl.[Claim Number], QIT_LWH_IMP_tbl.[Part Number],
> QIT_LWH_IMP_tbl.[Failure Mode Code], QIT_Z3_QNOTE_tbl.[Where Found],
> QIT_Z3_QNOTE_tbl.Reviewed, QIT_Z3_QNOTE_tbl.Comments,
> QIT_Z3_QNOTE_tbl.[Coorelation Confirmed]
> FROM (QIT_LWH_IMP_tbl INNER JOIN QIT_DTAC_IMP_tbl ON QIT_LWH_IMP_tbl.PIN =
> QIT_DTAC_IMP_tbl.PIN) INNER JOIN QIT_Z3_QNOTE_tbl ON QIT_LWH_IMP_tbl.PIN =
> QIT_Z3_QNOTE_tbl.[Serial Number]
> WHERE (((QIT_LWH_IMP_tbl.PIN) Is Not Null) AND ((QIT_Z3_QNOTE_tbl.[Serial
> number]) Is Not Null) AND ((QIT_DTAC_IMP_tbl.PIN) Is Not Null));
>
> I feel like I'm just one step away because if I include group by on the
> QIT_LWH_IMP_tbl.PIN then I get exactly what I'm looking for.
> Unfortunately I
> can't figure out a way around it. I tried doing
> DISTINCT(QIT_LWH_IMP_tbl.PIN) and it cut the results down significantly,
> but
> not as much as I would like.


You don't need your WHERE clause (in the above SQL), because the inner joins
on those fields will automatically exclude any records where the joined
fields are Null.

But the problem is that your joins will naturally create duplicate output
records if there are more than one record in any table with the same PIN or
[Serial Number]. From your description, I think that must be at the root of
the problem you're facing. So long as your query must output fields from
all three tables, as you have it defined now, there is no way to reduce
these apparent duplicate records to a single record (whether by GROUP BY or
DISTINCT) and have that record be wholly updatable. That flows naturally
from the fact that any record that is collapsed from multiple records can't
have its data tracked back to a single source record to be updated.

We need to step back and look at what you're trying to do from a broader
perspective. Since one-to-many relationships seem to be involved, maybe a
form/subform arrangement would suit your needs. Or, it *would* be possible
to write a query to extract all records in one table for which there are
matches in the other tables, and have that query be updatable -- so long as
the query doesn't need to return any fields from the other tables.

Could you explain in more detail ...

1. What your tables represent,
2. What the relationships between the tables are, and
3. What you are really trying to do here?

--
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html

(please reply to the newsgroup)