From: mick on 3 Jun 2010 07:36 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 3 Jun 2010 15:58 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 3 Jun 2010 16:24 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 4 Jun 2010 18:07 > 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
|
Pages: 1 Prev: Selecting the last 10 records from a specific date Next: Test Possible Before Saving? |