[AccessD] It's About Time I Learned This

Max Wanadoo max.wanadoo at gmail.com
Fri Oct 9 01:31:12 CDT 2009


>   strSQL = "Select Cast(chequenum as int) from tblCheques where PKID" &
   PKID

Rocky, I think you are missing the point here.  The above line is where you
would take YOUR parameters from your combo boxes, list selections,  whatever
and build the above line to suit your needs.  The rest of the code
before/after is  what updates the query automatically  for you. No need to
cut-n-paste etc.

I do similar  things tons  of  times.

Ie, grab the current sql from the query using QueryDef.  Amend it based on
the  selection forms that my users are presented with (typically building a
filter for  viewing only the records they want to see), and then write it
back  to the query which the form is based on and requery the  form.

As a developer, this is all left to the user to change  the underlying query
from a simple  selection form.  Same for reports etc.

Max


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
Sent: 09 October 2009 03:18
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] It's About Time I Learned This

Stuart:

I'm not sure that buys me anything because you've got the SQL in the code
and you're updating the stored query with that code, modified with the
desired parameter.  

What I've got is SQL statements that run to 15 or 20 lines.  I'm pretty fast
at the copy and paste and merging the parameters into the SQL.  Once the SQL
is done, I can just set the RecordSource of the form or report to that. 

But fiddling with those lines and lines of SQL is what I'm trying to get
around.

Rocky


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
Sent: Thursday, October 08, 2009 2:18 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] It's About Time I Learned This

This was covered in the thread "Access 2000 - Filtering SQL Server records"
on 17 Sep 2009.  We were actaully talking about editing "pass through"
queries, but the prinicple is the same.

Here's what I posted then.

<quote>
To pass a parameter, you need to modify the querydef, so you need to do
something like this before opening the query:

Public Sub SetChequePKID(PKID As Long)
   Dim strSQL As String
   Dim qdf as DAO.QueryDef
   Dim rs as DAO.Recordset
   strSQL = "Select Cast(chequenum as int) from tblCheques where PKID" &
   PKID 
    Set qdf = CurrentDb.QueryDefs("qryGetCheckNumber") 
    qdf.SQL = strSQL 
    qdf.Close
End Sub
</quote>


On 8 Oct 2009 at 13:42, Rocky Smolin wrote:

> Dear List:
> 
> When I have a query that is the source of a form, report or recordset 
> that needs to have criteria of parameters, I always go to the SQL view 
> of the query, copy out the code, paste it into the CBF, and add the 
> parameters there - values from a text box or combo box, etc.  Always done
it that way.
> 
> But I think there's a way to do modify a stored query in code using 
> the querydef.  Pretty basic Access stuff, I think, but I've never learned
it.
> Can someone point me to a tutorial or primer or help screen explaining
this?
> 
> MTIA
> 
> Rocky Smolin
> Beach Access Software
> 858-259-4334
> www.e-z-mrp.com
> www.bchacc.com
>  
>  
> 
> 
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com


Stuart McLachlan

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