macro help

M

mick

I have a "customers input form" for entering name, address, ref no.,
etc.
I have an "order form" with a text box into which can be manually
entered a customer reference number when needed. Next to the box is a
button that when activated opens the "customers input form" displaying
the customer details.
The macro for the button is:
OpenForm
form name, customers input
where condition, ="[CRN]=" & [CRN]

This works fine, except when the button is activated and there is
nothing in the text box, there is then a syntax error and the macro has
to be stopped manually.

Question is; what do I need to add to the macro to prevent the error
happening when the text box is empty and the button is activated?

Thanks.
 
T

tighe

mick.

i have to admit i dont use the where condition(it might be where the quotes
are) but you could handle this On Load of the "customers input form" with vba:

Sub Form_Load()
If IsLoaded("[order form]") = True Then
me.filter="[CRN]=" & forms.[order form].[CRN] 'still might have to adjust
quotes
Me.filterOn=true
else: me.filteron=false
End If
end sub
make sure to turn filter on load to yes
 
K

KenSheridan via AccessMonster.com

Rather than using a macro put the following code in the button's Click event
procedure:

Const MESSAGETEXT = "No customer reference number entered."
Const FORMNAME = "Customers Input"

Dim strCriteria As String

strCriteria = "CRN = " & Me.CRN

If Not IsNull(Me.CRN) Then
DoCmd.OpenForm FORMNAME, _
WhereCondition:=strCriteria
Else
MsgBox MESSAGETEXT, vbExclamation, "Invalid Operation"
End If

If you are not familiar with entering code in event procedures this is how
it's done:

1. Select the control and open its properties sheet if it's not already open.


2. Select the On Click event property and select the 'build' button (the one
on the right with 3 dots).

3. Select Code Builder in the dialogue and click OK. This step won't be
necessary if you've set up Access to use event procedures by default.

4. The VBA editor window will open at the Click event procedure with the
first and last lines already in place. Enter or paste in the code as new
lines between these.

Ken Sheridan
Stafford, England
I have a "customers input form" for entering name, address, ref no.,
etc.
I have an "order form" with a text box into which can be manually
entered a customer reference number when needed. Next to the box is a
button that when activated opens the "customers input form" displaying
the customer details.
The macro for the button is:
OpenForm
form name, customers input
where condition, ="[CRN]=" & [CRN]

This works fine, except when the button is activated and there is
nothing in the text box, there is then a syntax error and the macro has
to be stopped manually.

Question is; what do I need to add to the macro to prevent the error
happening when the text box is empty and the button is activated?

Thanks.
 
M

mick

Rather than using a macro put the following code in the button's Click event
procedure:

Const MESSAGETEXT = "No customer reference number entered."
Const FORMNAME = "Customers Input"

Dim strCriteria As String

strCriteria = "CRN = " & Me.CRN

If Not IsNull(Me.CRN) Then
DoCmd.OpenForm FORMNAME, _
WhereCondition:=strCriteria
Else
MsgBox MESSAGETEXT, vbExclamation, "Invalid Operation"
End If

If you are not familiar with entering code in event procedures this is how
it's done:

1. Select the control and open its properties sheet if it's not already
open.


2. Select the On Click event property and select the 'build' button (the one
on the right with 3 dots).

3. Select Code Builder in the dialogue and click OK. This step won't be
necessary if you've set up Access to use event procedures by default.

4. The VBA editor window will open at the Click event procedure with the
first and last lines already in place. Enter or paste in the code as new
lines between these.

Ken Sheridan
Stafford, England
I have a "customers input form" for entering name, address, ref no.,
etc.
I have an "order form" with a text box into which can be manually
entered a customer reference number when needed. Next to the box is a
button that when activated opens the "customers input form" displaying
the customer details.
The macro for the button is:
OpenForm
form name, customers input
where condition, ="[CRN]=" & [CRN]

This works fine, except when the button is activated and there is
nothing in the text box, there is then a syntax error and the macro has
to be stopped manually.

Question is; what do I need to add to the macro to prevent the error
happening when the text box is empty and the button is activated?

Thanks.

Many thanks Ken, worked a treat.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top