Solved

How di I modify a sql query in Access?

Posted on 2008-10-10
8
224 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

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
 
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Pivot Table for a join with partition by and over clause 7 36
xpath sql query 2008 8 52
SQL Query Syntax Join 4 39
SQL Sub-Query Help 22 62
Introduction Hopefully the following mnemonic and, ultimately, the acronym it represents is common place to all those reading: Please Excuse My Dear Aunt Sally (PEMDAS). Briefly, though, PEMDAS is used to signify the order of operations (http://en.…
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

785 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