Solved

How di I modify a sql query in Access?

Posted on 2008-10-10
8
221 Views
Last Modified: 2012-05-05
Hi,
I have a query created in Access 2000 called qsel_SurveyDetails.
which returns a table. (see attachment)
I want to replace the ObjectRef column
With a column called  ref_num from another table called call_req.
When I add the new table in the Design View and then run the query it returns no data.
How can I replace the ObjectRef column with the call_req.ref_num column using the Design view or other method?
Thanks


.......OK to summarize the question.

How can I alter the code below to replacethe ObjectRef column

with the ref_num column from the call_req table........
 

SELECT survey.id, survey.sym AS SurveyName, CvrtFromUnixTime([survey]![last_mod_dt]) AS LastModDate, IIf(IsNull([c_first_name]),[c_last_name],[c_last_name] & ", " & [c_first_name]) AS LastModBy, survey.description, survey.comment_label, survey.nx_comment, [survey]![object_type]+":"+CStr([survey]![object_id]) AS ObjectRef, OBTypeToWord([object_type]) AS OBType, survey_question.sequence, survey_question.id, survey_question.txt, survey_answer.selected, IIf([survey_answer].[selected],1,0) AS CountOfAnswer, IIf(([response]=0 And [mult_resp_flag]=0),1,0) AS CountOfBlankAns, IIf([survey_answer].[selected],"*","") AS ChoiceSign, survey_answer.sequence, survey_answer.id, survey_answer.txt, CDate([Forms]![Report Selector]![StartDate]) AS FromDate, CDate([Forms]![Report Selector]![EndDate]) AS ToDate, survey_question.qcomment_label, survey_question.qcomment

FROM (survey INNER JOIN (survey_question INNER JOIN survey_answer ON survey_question.id = survey_answer.own_srvy_question) ON survey.id = survey_question.owning_survey) INNER JOIN ctct ON survey.last_mod_by = ctct.id

WHERE (((survey.sym) Like [Forms]![Report Selector]![cboSurvey]) AND ((survey.last_mod_dt)>=[Forms]![Report Selector]![txtUnixStart] And (survey.last_mod_dt)<=[Forms]![Report Selector]![txtUnixEnd]))

ORDER BY survey.id, survey.sym, survey_question.sequence, survey_answer.sequence

Open in new window

AccessReport-incident-numberV2.doc
0
Comment
Question by:blossompark
  • 4
  • 3
8 Comments
 
LVL 32

Expert Comment

by:Daniel Wilson
ID: 22686058
what field(s) relate survey (or other tables listed) to ObjectRef?

Knowing that, I can write you a query.
0
 
LVL 18

Expert Comment

by:UnifiedIS
ID: 22686144
You need to join the call_req table.  I didn't see from your screenshots how you tried to join call_req but you might have joined it by the wrong columns.
0
 
LVL 32

Expert Comment

by:Daniel Wilson
ID: 22686162
Yeah, the call_req table -- that's the one I meant.  What field in it relates to a field in Survey or one of the other tables you already have?
0
 

Author Comment

by:blossompark
ID: 22686208
Hi DanielWilson
 The ahd.survey.object_id in the survey table. references the ahd.call_req.id. The ahd.call_req table contains the ref_num column.

ahd is the name of the database on the underlying sql server 2000
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 32

Expert Comment

by:Daniel Wilson
ID: 22686317
OK, I've joined in call_req on a LEFT JOIN so that missing call_req records won't eliminate Survey records.  That may have been the problem w/ the join the designer created for you.  If you want to get rid of the ObjectRef field, just delete it from the query.

 

SELECT survey.id, survey.sym AS SurveyName, CvrtFromUnixTime([survey]![last_mod_dt]) AS LastModDate, 

	IIf(IsNull([c_first_name]),[c_last_name],[c_last_name] & ", " & [c_first_name]) AS LastModBy, 

	survey.description, survey.comment_label, survey.nx_comment, 

	[survey]![object_type]+":"+CStr([survey]![object_id]) AS ObjectRef, 

	OBTypeToWord([object_type]) AS OBType, survey_question.sequence, survey_question.id, survey_question.txt, survey_answer.selected, 

	IIf([survey_answer].[selected],1,0) AS CountOfAnswer, IIf(([response]=0 And [mult_resp_flag]=0),1,0) AS CountOfBlankAns, 

	IIf([survey_answer].[selected],"*","") AS ChoiceSign, survey_answer.sequence, survey_answer.id, survey_answer.txt, 

	CDate([Forms]![Report Selector]![StartDate]) AS FromDate, CDate([Forms]![Report Selector]![EndDate]) AS ToDate, 

	survey_question.qcomment_label, survey_question.qcomment,

	Call_req.Ref_Num

FROM (survey INNER JOIN 

	(survey_question INNER JOIN survey_answer ON survey_question.id = survey_answer.own_srvy_question) ON survey.id = survey_question.owning_survey) INNER JOIN 

	ctct ON survey.last_mod_by = ctct.id Left Join call_req on survey.object_id = call_req.id

WHERE (((survey.sym) Like [Forms]![Report Selector]![cboSurvey]) AND ((survey.last_mod_dt)>=[Forms]![Report Selector]![txtUnixStart] And (survey.last_mod_dt)<=[Forms]![Report Selector]![txtUnixEnd]))

ORDER BY survey.id, survey.sym, survey_question.sequence, survey_answer.sequence

Open in new window

0
 

Author Comment

by:blossompark
ID: 22686450
Hi DanielWilson
ran the above and got;
syntax error missing operator in query expression
"survey.last_mod_by = ctct.id Left Join call_req on survey.object_id = call_req.id"
0
 
LVL 32

Accepted Solution

by:
Daniel Wilson earned 500 total points
ID: 22686488
Well, Access is always big on parentheses.  Let's try this:



SELECT survey.id, survey.sym AS SurveyName, CvrtFromUnixTime([survey]![last_mod_dt]) AS LastModDate, 

        IIf(IsNull([c_first_name]),[c_last_name],[c_last_name] & ", " & [c_first_name]) AS LastModBy, 

        survey.description, survey.comment_label, survey.nx_comment, 

        [survey]![object_type]+":"+CStr([survey]![object_id]) AS ObjectRef, 

        OBTypeToWord([object_type]) AS OBType, survey_question.sequence, survey_question.id, survey_question.txt, survey_answer.selected, 

        IIf([survey_answer].[selected],1,0) AS CountOfAnswer, IIf(([response]=0 And [mult_resp_flag]=0),1,0) AS CountOfBlankAns, 

        IIf([survey_answer].[selected],"*","") AS ChoiceSign, survey_answer.sequence, survey_answer.id, survey_answer.txt, 

        CDate([Forms]![Report Selector]![StartDate]) AS FromDate, CDate([Forms]![Report Selector]![EndDate]) AS ToDate, 

        survey_question.qcomment_label, survey_question.qcomment,

        Call_req.Ref_Num

FROM ((survey INNER JOIN 

        (survey_question INNER JOIN survey_answer ON survey_question.id = survey_answer.own_srvy_question) ON survey.id = survey_question.owning_survey) INNER JOIN 

        ctct ON survey.last_mod_by = ctct.id) Left OUTER Join call_req on survey.object_id = call_req.id

WHERE (((survey.sym) Like [Forms]![Report Selector]![cboSurvey]) AND ((survey.last_mod_dt)>=[Forms]![Report Selector]![txtUnixStart] And (survey.last_mod_dt)<=[Forms]![Report Selector]![txtUnixEnd]))

ORDER BY survey.id, survey.sym, survey_question.sequence, survey_answer.sequence

Open in new window

0
 

Author Closing Comment

by:blossompark
ID: 31504974
Fantastic DanielWilson!!!!!!!!!!!!!!!!!!!!!!! The weekend starts here!!!!
Thanks that is absolutely brilliant... Made my day bigtime!!!!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In database programming, custom sort order seems to be necessary quite often, at least in my experience and time here at EE. Within the realm of custom sorting is the sorting of numbers and text independently (i.e., treating the numbers as number…
'Between' is such a common word we rarely think about it but in SQL it has a very specific definition we should be aware of. While most database vendors will have their own unique phrases to describe it (see references at end) the concept in common …
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now