[AccessD] Modifying a query

John Colby jwcolby at ColbyConsulting.com
Wed Jun 7 07:47:22 CDT 2006


You forgot the DIM statement:

DIM db as dao.database
DIM qdf as DAO.Querydef
	set db = currentdb
	set qdf = db.querydefs("MyQueryName")
	qdf.SQL = strMySQL
	qdf.close
	Set qdf = nothing
	db.querydefs.refresh

THEN use the query.


John W. Colby
www.ColbyConsulting.com 


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey
Sent: Wednesday, June 07, 2006 3:10 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Modifying a query

Rocky, you can do this yourself.

Set qdf=db.QueryDefs("qryxyz")
strSQL=qdf.SQL

Then use instr to identify the WHERE statement within strSQL. Use inStr
again to identify the ORDER BY or GROUP BY if it has one. This allows you to
separate out 3 strings: one with everything which preceds the WHERE, one
with the WHERE construct and one with everything following, let's say
strSQLStart, strSQLWhere and strSQLEnd. Pop your own WHERE statement into
strSQLWhere and then do:

qdf.SQL=strSQLstart & strSQLWhere & strSQLEnd qdf.Close

Job done.

HTH

-- Andy Lacey
http://www.minstersystems.co.uk 

> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky 
> Smolin - Beach Access Software
> Sent: 07 June 2006 05:24
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Modifying a query
> 
> 
> Steve (and Darren and Dan):
> 
> That will replace the entire query which is what I'll do if I have to.
> Won't be that hard (I can copy the SQL statement right out of the SQL 
> view into my code).  But it seems to me there should be a way to 
> manipulate queries with the same detail as something like a table 
> where you can modify one property of one field.  But apparently you 
> can't just add or delete a field, or change a single criterion.
> 
> Rocky
> 
> 
> Steve Conklin wrote:
> > Yep, need to edit the query def's SQL property:
> >
> > Set q = Currentdb.querydefs("my_users_query")
> > q.SQL = "my new sql statement"
> > Currentdb.querydefs.refresh
> >
> > Hth
> > Steve
> >  
> >
> > -----Original Message-----
> > From: accessd-bounces at databaseadvisors.com
> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky 
> > Smolin - Beach Access Software
> > Sent: Tuesday, June 06, 2006 8:20 PM
> > To: Access Developers discussion and problem solving
> > Subject: [AccessD] Modifying a query
> >
> > Dear List:
> >
> > Can you modify the criteria in an existing query through code?  
> > Usually I just construct the query as a SQL statement and use 
> > db.execute to run it. But this time I think it would be better to 
> > leave the query where it is and modify the criterion based on a 
> > selection by the user.  The query is part of a predefined set of 
> > queries that were embedded in a macro by the user.
> >
> > MTIA,
> >
> > Rocky
> >
> > --
> > Rocky Smolin
> > Beach Access Software
> > 858-259-4334
> > www.e-z-mrp.com
> >
> >
> >   
> 
> --
> Rocky Smolin
> Beach Access Software
> 858-259-4334
> www.e-z-mrp.com
> 
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 

--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list