From: mick on
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.

--
mick


From: tighe on
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
"mick" wrote:

> 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.
>
> --
> mick
>
>
> .
>
From: KenSheridan via AccessMonster.com on
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

mick wrote:
>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.
>

--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/Forums.aspx/access-gettingstarted/201006/1

From: mick on
> 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
>
> mick wrote:
>> 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.

--
mick