Gustav Brock
Gustav at cactus.dk
Tue Apr 7 07:59:21 CDT 2009
Hi Chester You are mixing up DAO/ADO and SQL. Can't be done. Write the RS1 recordset to a temp table and use this in your query for RS1. Replace the RS1.Fields(n) with the actual field names. /gustav >>> Chester_Kaup at kindermorgan.com 07-04-2009 14:50 >>> Probably did not explain this very well. RS1 contains the results of a previous SQL statement run in code. I want to use the data stored in RS1 in the query posted below. Maybe instead of strSql = I should use strSql1= ? Thanks. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, April 06, 2009 3:41 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Using recordset in a query You've got it swallowing its own tail! You're trying to set a recordset to RS1 that refers to fields in RS1, so no, you can't do that. You can use a subquery and do an inner join on that then open a recordset on the resulting SQL but not like this. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Monday, April 06, 2009 1:03 PM To: Access Developers discussion and problem solving Subject: [AccessD] Using recordset in a query I am trying to use the following query but am getting no records returned. Can this be done or am I approaching this all wrong? Set RS1 = MyDb.OpenRecordset(strSql) strSql = "SELECT dbo_DSS_StatusChanges.PID, RS1.Fields(1), " & _ "dbo_DSS_StatusChanges.StatusDate, dbo_DSS_StatusChanges.Status " & _ "FROM RS1 INNER JOIN dbo_DSS_StatusChanges ON " & _ "(RS1.Fields(3) = dbo_DSS_StatusChanges.StatusDate) AND " & _ "(RS1.Fields(0) = dbo_DSS_StatusChanges.PID) " & _ "GROUP BY dbo_DSS_StatusChanges.PID, RS1.Fields(1), " & _ "dbo_DSS_StatusChanges.StatusDate, dbo_DSS_StatusChanges.Status;" Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799