Command Buttons

D

Dustin

Is it possible to use one command button to run one querie and then another
one?
I really hope the answer is yes. A how would also be helpful
Thanks
Dustin
 
6

'69 Camaro

Hi, Dustin.

If you are running action queries, then try:

Private Sub RunQryBtn_Click()

On Error GoTo ErrHandler

CurrentDb().Execute "qryFirstQuery", dbFailOnError
CurrentDb().Execute "qrySecondQuery", dbFailOnError

Exit Sub

ErrHandler:

MsgBox "Error in RunQryBtn_Click( )." & vbCrLf & vbCrLf & _
"Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
Err.Clear

End Sub

.. . . where RunQryBtn is the name of the button, qryFirstQuery is the first
action query to run, and qrySecondQuery is the action query that runs as soon
as the first one is finished. If you need to run two SELECT queries, then
use DoCmd.OpenQuery instead of CurrentDb().Execute. For example:

DoCmd.OpenQuery "qryFirstQuery"
DoCmd.OpenQuery "qrySecondQuery"

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips.

(Please remove ZERO_SPAM from my reply E-mail address so that a message will
be forwarded to me.)
- - -
If my answer has helped you, please sign in and answer yes to the question
"Did this post answer your question?" at the bottom of the message, which
adds your question and the answers to the database of answers. Remember that
questions answered the quickest are often from those who have a history of
rewarding the contributors who have taken the time to answer questions
correctly.
 
D

Douglas J Steele

Realistically the only legitimate purpose in running a query in code is if
it's an Action query (INSERT INTO, UPDATE, DELETE). If the SQL of your two
queries are stored in, say, strSQL1 and strSQL2, you can use:

CurrentDb().Execute strSQL1, dbFailOnError
CurrentDb().Execute strSQL2, dbFailOnError

If the queries are actually stored as, say, dqryQuery1 and uqryQuery2, you
can use:

CurrentDb().QueryDefs("dqryQuery1").Execute dbFailOnError
CurrentDb().QueryDefs("uqryQuery2").Execute dbFailOnError

There is another way (DoCmd.RunSQL), but using the Execute method has the
advantage that it doesn't pop up messages like "You're about to delete n
rows", plus it allows you to trap errors that might occur during execution.
However, if you're using Access 2000 or 2002, you'll have to add a reference
to Microsoft DAO 3.6 Object Library if you haven't already done so.
 
Top