OnChange Or AfterUpdate

Feb 28, 2005

Is there a central reference on the net that explains the pro's and con's of each of the event types. I historically have used the OnChange event until the other day when someone suggested using the AfterUpdate instead.

Would like to ensure that I have the best event trigger being used where possible in various situations

Thanks in Advance

View Replies


ADVERTISEMENT

AfterUpdate Or OnChange For A Bound Textbox

Jun 1, 2006

Hi there,

I'd like to call a function when a bound textbox is updated and for some reasons it doesn't seem to work. It works when the textbox is unbound (or maybe I missed something)
Here is a very simplified version of the form:
http://img207.imageshack.us/img207/3618/apf4ax.jpg

MyFunction() is just a MsgBox for now and I'd like it to appear when the textbox in the main form is updated (i.e. when the text in the subform is updated). I set .AfterUpdate= "=MyFunction()" and .OnChange="=MyFunction()" but nothing happens.
(see attached code)

Thank you in advance !

View 2 Replies View Related

OnChange Triggered Before Change In Value

May 30, 2005

I have a combobox which needs to call a function f(combobox.value) during its onChange event. Currently though, combobox.value appears not to change before the onChange event, and so the function receives the wrong (last) value.

Note - the actual text in the text field of the combobox *has* changed to the new value before the onChange event occurs.

Any ideas why this might be?

Edit - Also the problem doesn't happen when selecting with the mouse, only when using the up and down arrow keys to move through the list.

View 3 Replies View Related

Move Cursor To Next Field 'onchange' Etc..

Apr 17, 2005

I have 4 drop down lists calling values from a query.
This part works as expected.

However, I would like the focus to automatically change to the next drop down field after ANY (valid) entry is made.

IE

Drop Down 1: "any value" ----> focus automatically set to Drop Down 2, etc

The code I have only relates to 1 of the drop down values, I want it to rerlate to any of the values.

*************
Private Sub Question1_AfterUpdate()

If Me.Question1 = "Yes" Then
Me.Question2.SetFocus
End If
End Sub
*************

My values are simple, just "yes" "no" "I don't know", etc.

OR

If this cannot be done with drop downs, how about with field lists?

:cool:

View 2 Replies View Related

Separate OnChange And AfterInsert Events

Jul 12, 2006

I use the events afterInsert of a Form frmA and the onChange of a field in the same form in order to make some changes to another Form frmB.

Everything goes as expected when the field (with the onChange event assigned) of an existing record changes.
The problem starts when I add a new record which triggers both AfterInsert event (desired) and onChage event (undesired).

Is there a trick to separate the two events?
Basically I want to call a Sub when the data on the field change (onChange)
and a different Sub when I add a new record (AfterInsert).

Thanks in advance

View 11 Replies View Related

Forms :: Default Value In Onchange Event

Jan 27, 2014

On my form i have a control called WeekDate (this is always the start of the week (monday), below i have a subform (sbfrmWorksheetDetails) contained in a tab control (tabWeek) with 5 pages for each day of the week, i have written a select case statement in the onchange event for tabWeek which selects records based on the day of the week (so = WeekDate for Monday, +1 for Tuesday, +2 for Wednesday etc), this works great, i have also put a bit of code in the same onchange event that makes the default value for a new record for the field WorkDayDate in the subform +1 and +2 etc. this works great for existing records, each new line in the subform puts the right date in, however this seems to cock up when clicking on a new tab that doesn't have a record in..Here's the code.

Private Sub tabWeek_Change()
Select Case tabWeek
Case 0 'Monday
Forms!WeeklyWorksheet!sbfrmWorksheetDetails.Form.R ecordSource = "SELECT * FROM tblWorksheetDetails WHERE (((tblWorksheetDetails.WorkDayDate) = [Forms]![WeeklyWorksheet]![WorksheetDate]))"
Forms!WeeklyWorksheet!sbfrmWorksheetDetails.Form!W orkDayDate.DefaultValue = SQLDate(Me.WorksheetDate)
Case 1 'Tuesday
Same as above but WorksheetDate+ 1 for both select and default value.
Case 2 'Wednesday
Same but +2 etc.
End Select
End Sub

the SQLDate is some code that converts the american US date formatting to UK formatting. i'm not sure if that's the problem, but i'll post that anyway:

Function SQLDate(vDate As Variant) As String
If IsDate(vDate) Then
SQLDate = "#" & Format$(vDate, "dd/mm/yyyy") & "#"
End If
End Function

I can't quite work out what screwing this up upon adding a new record.

View 14 Replies View Related

Forms :: OnChange Event - Setting Password Protection On Tab Control

Nov 4, 2013

I have an Access 2010 form within my database in which I have a series of 8 tabs on a tab control. I am the only user who will have access to these tabs. I want to require a password in order to permit access to the tabs. The very first tab on the tab control works as a cover tab. There is no relevant information for anyone to view...only a graphic.

How to code the "on change" event of the tab control.

View 1 Replies View Related

Do I Have To Use AfterUpdate?

Aug 9, 2007

Hello
I have a three field table viz ItemName, ItemCode, ItemRate wherein ItemCode is Autonumber. What I needed was if I select 3 from dropdown of ItemCode, both ItemName & ItemRate be displayed on the form. A combo box can use to show one value and put other, but for twin values someone sugggested to use the AfterUpdate event. Is there no other way? I don't know how to code in Access. Can you please guide? Thanks

View 4 Replies View Related

AfterUpdate Problem

Sep 13, 2005

I Can't figure out why this doesn't work on a form that I want to populate the Timestamp field when they edit the record. Looks like it works for others that have posted.
Do I need to add a New Reference to the reference Libary?
I'm running Access2k

I get an error box stating the procedure declaration does not match description of event or procedure having the same name.

What am I missing?

Private Sub Form_AfterUpdate()
Me.Timestamp = Now()
End Sub

Bryan

View 10 Replies View Related

AfterUpdate Msgbox...

May 11, 2006

I have a field on my form which I want to display a message box when something is entered.Private Sub BoI_AfterUpdate()Box = Msgbox("Is the booking date at least 7 days before the hiring and no more than 8 weeks in advance? If so, click Yes, otherwise, click No. You can check the calender on the Open Form under the 'Miscellanous' tab to check the date. Thank you.", vbYesNo, "Validation")If Box = vbYes Then Cancel = FalseElseCancel = TrueEnd IfEnd SubThat's my code, but I get an error after I type something in that field (BoI)."Compile error: Else without If" I have tried it with 'ElseIf Box = vbNo Then Cancel = True' but that also gives the same error.What's wrong with it?Thanks in advance. :D

View 4 Replies View Related

Another Vbscript - Afterupdate

Sep 28, 2004

I have a form with shipper information (5 fields) and a separate form/table of shippers. I want the ability to either enter shippers on the fly (one time shippers) or the option of picking a shipper from the shipper form/table and having it populate the 5 fields.

This is what I have and it works.



Private Sub FrgnShipCombo_AfterUpdate()

Me.FrgnShipName = Me.FrgnShipCombo.Column(1)

End Sub



Im looking for the how to use this method on multiple fields



Private Sub FrgnShipCombo_AfterUpdate()

Me.FrgnShipName = Me.FrgnShipCombo.Column(1)

Me.FrgnShipAddr1 = Me.FrgnShipCombo.Column(2)

Me.FrgnShipAddr2 = Me.FrgnShipCombo.Column(3)

Me.FrgnShipAddr3 = Me.FrgnShipCombo.Column(4)

Me.FrgnShipTeleNbr = Me.FrgnShipCombo.Column(5)

End Sub

View 1 Replies View Related

Please Help! - Move AfterUpdate

Aug 19, 2004

I know what I want to do...but have no idea how to get started! I'm new to coding and using macros and quesries doesn't seem to help.

When field [TermDate] is updated with a value, I want to move the record from table [BadgeData] to table [Termed]. I'm sure this is easy for someone who'll be willing to throw out a few suggestions.

Also, is there anywhere in the code builder that will help identify what code (or commands) do? (Does that make sense?)

View 5 Replies View Related

AfterUpdate Event Help Needed

Jun 14, 2006

Hi. i am very thankful for all your help in my other queries for my database. i have one last question and i guess i will be done after that. i have a form which have 3 fields one is Number and the other is group and the next one is Account. all of them are combo boxes. I am trying to add this function in the Number field text box properties in afterupdate event which is as follow

Sub Number_Afterupdate()
If not isnull(Number) Then
Number=Format(Number, "000000")
Endif
End sub

The code is working fine. i debug it and run it no errors. i want to put this function in afterupdate. i copied this whole thing in the afterupdate box and when i go back to my control form try to enter numbers in the Number field it gives me this

Msaccess can't find the macro "private sub Mynumber" the macro or its macrogroup does not exist or the macro is new but has'nt been saved.

Can anyone help me out what i am doing wrong ? or can tell me steps what to do i really appreciate that and thanks alot FONZ :)

View 10 Replies View Related

Check If Duplicate Afterupdate

Nov 30, 2006

Hi, I was wondering if anyone knows the VB to check if a value is a duplicate afterupdate?

Many thanks.

View 8 Replies View Related

Before And AfterUpdate Events Not Firing

May 26, 2005

Hello all:

I have a split, shared database in which the Before and AfterUpdate events on my forms are not working at all. I tried setting a breakpoint to verify this and, sure enough, they are not firing.

Does anyone have any clue as to why this may be occurring?

Thanks so much for the help. I have tried searching the forum with no luck.

View 2 Replies View Related

Can't Get Text To Display On AfterUpdate

Dec 14, 2005

Hi

I'm having problems trying to get an If statement working on my form.
What I have is a form with two combo boxes linked to a Calendar when you click on the arrow. I can get the dates I select from the calendar into the combo boxes which works perfectly.
What I wanted to do then was create a textbox to list the number of days between each date.
I have created an If statement for me to do this, which works fine.
The problem I am having is that it doesn't seem to update these changes on the form after the date has been changed.

I have placed the code in the AfterUpdate event on both of the combo boxes and also in the Form Current Event.

Anyone any ideas?

If you want to see the If statement let me know, but I don't think it's that.

Thanks

View 2 Replies View Related

AfterUpdate - Values Not Calculating

Apr 15, 2008

Below is the code I have created to calculate the values "CalcValue" and "CalcWork". The values for AssignValue, AssignPriority, Complex, Effort, Goal are all assigned by the selection made in the referred to/related combo boxes. However, the caluclated values return the concatonation of the intergers and not the sum of the integers. Additionally, if I am to use the CDec() function how do I specify the number of decimal places?

what am I missing here?

thanks!

Private Sub cboAssignPriority_AfterUpdate()

Dim CalcValue, AssignValue, AssignPriority, Complex, Effort, Goal, CalcWork As Integer

Value = 0
AssignValue = 0
AssignPriority = 0
CalcValue = 0
CalcWork = 0

AssignValue = Me!cboAssignValue.Column(3)
AssignPriority = Me!cboAssignPriority.Column(2)

Complex = cboDBObjectID.Column(2)
Effort = cboTaskTypeID.Column(3)
Goal = cboAgencyGoalID.Column(2)

Value = AssignValue + AssignPriority
CalcWork = Complex + Effort + Goal
CalcValue = CDec(Value)

CalcValue = Me!lngCalPriority

Debug.Print "Complex="; cboDBObjectID.Column(2)
Debug.Print "Effort="; cboTaskTypeID.Column(3)
Debug.Print "Goal="; cboAgencyGoalID.Column(2)
Debug.Print "AssignValue.Column(3)="; cboAssignValue.Column(3)
Debug.Print "AssignPriority.Column(2)="; cboAssignPriority.Column(2)
Debug.Print "Value ="; Value
Debug.Print "CalcValue ="; CalcValue
Debug.Print "CalcWork ="; CalcWork

End Sub

View 14 Replies View Related

Getting Double Entries Using Recordset (AfterUpdate)

Jul 30, 2007

I'm stumped....(newbie):)

I"ve got a unbound combo box (customername) that has two events (on click); AfterUpdate and NotInList.

The AfterUpdate uses a 'me.recordsetclone' in order to display other data in controls associated with customerid/customername from the Customer table.

The NotInlist, does just that, adds a new customer name to the
list along with a new autonumber (used as customerid).

The problem is that I'm getting two entries (different autonumbers). I can't figure out what I'm doing wrong. If I remove the 'AfterUpdate' event, then I can't bring up the customer's data, since then there's no connection to the customername/customerid.

If I remove the Not in List, then there's no way to add a new customer. I reconfigured NotInList many many times and still I get 2 entries. One entry has Customer 'name only', The second entry has name, address, city and the rest of the fields as entered.

I tried setting an index (on Customer table) with CustID and CustomerID, making them unique, but still I'm getting 2 entries whenever I use the 'NotInList'..........Help Help,,

Here are these events:

Code: ( text )
Private Sub customername_AfterUpdate()
Dim rst As Object

Set rst = Me.RecordsetClone

rst.FindFirst "CustomerID=" & Me![customername]
If Not rst.NoMatch Then

Me.Bookmark = rst.Bookmark
Else
'Not found!
End If
Forms![Add or Delete Customer]![customername].Requery
End Sub



Code: ( text )
Private Sub customername_NotInList(NewData As String, Response As Integer)
Dim strSQL
Dim FirstName As String
Dim LastName As String
Dim SpacePosition As Integer
Dim lngNextID As Long

' Find the highest Cust ID in the Customers table and add 1
lngNextID = DMax("[CustID]", "Customers") + 1
custID = lngNextID

SpacePosition = InStr(NewData, " ")
If SpacePosition = 0 Then
MsgBox "Your entry requires a space to separate First and Last name." & _
vbNewLine & vbNewLine & _
"Please enter a First and Last Name or choose an entry from the list.", _
vbInformation, "Invalid Data !"
Response = acDataErrContinue
Exit Sub
End If

' Trim the data into first and last name using the space position.
FirstName = Trim(Left(NewData, SpacePosition - 1))
LastName = Trim(Mid(NewData, SpacePosition + 1))

If FirstName = "" Then
MsgBox "You have not entered details for the first name" & vbNewLine & vbNewLine & _
"Please fix entry.", vbInformation, "Invalid Data !"
Response = acDataErrContinue
Exit Sub
End If

If LastName = "" Then
MsgBox "You have not entered details for the last name" & vbNewLine & vbNewLine & _
"Please fix entry.", vbInformation, "Invalid Data !"
Response = acDataErrContinue
Exit Sub
End If

MsgBox "An account for this person does not exist....." & vbNewLine & vbNewLine & _
"Now creating new Customer Account.", vbInformation, "Unknown Customer Details....."
strSQL = "Insert Into Customers ([custID], [FirstName], [LastName]) " & _
"values ('" & custID & "','" & FirstName & "','" & LastName & "');"
'MsgBox strsql
CurrentDb.Execute strSQL, dbFailOnError
Response = acDataErrAdded

End Sub

Is there anyone that can help....thanks Shasha

View 6 Replies View Related

Firing Off The AfterUpdate Event Procedure From VBA

Jan 29, 2005

Hello,

I have an "After Update" event procedure for a field on a form that calls a VBA sub. When I use a different VBA sub to input a value in the above mentioned field, the "After Update" event does not occur, even thought the data in the field has been changed. (Of course if I manually enter the data, the field "After Update" event works.)

Is there a flag or condition that needs to be set in my VBA sub to let the field realize that it has been changed? Or possible a way to call the fields AfterUpdate Sub?

I tried having a my sub call the AfterUpdate sub to see what would happen, but didn't get it to work. I got a bunch of error and didn't feel like this was really the way to go.

I also could just duplicate all the code in the AfterUpdate sub for the field, but we all know that that is not a good idea.

Thank you for any help.

View 5 Replies View Related

Afterupdate Action In Form/Subform

Mar 16, 2005

I have a form (TransactionBody) & a subform (Detail) in the body I have an option group (Reg Office, Unaccepted and Returned) and want the returned button to be true "IF" a box Yes/No box called "Returned" is checked "yes" in the "Detail" form.
I have done simular things in regular forms but not with a subform. I know I need to setup a afterupdate event in the Detail subform in the "returned" yes/no box and I know the basic if..then...else lingo I just don't know how to reference the transactionbody form in the formula from the detail form.

Any help would be greatly appreciated.

Thank you.

View 3 Replies View Related

Date Refreshing AfterUpdate Of Different Field

Aug 23, 2005

Hi all.

Benn looking through other posts and have found some things which look quite similar but nothing which answers the question simply enough for my standard!

Basically I have a form with 5 fields...Number, Name, Location, Date and Owner.
All fields are locked apart from Location and Date.
I have a combo box which lists the field "Number" and then displays the record's data. The aim of the form is to be able to update the Location field easily.
A user entering the form would use the combo box to select say number "3243". This would bring up record number 3243. The date displayed would be the last updated date. Currently 23/08/05. I am trying desperately to get the Date to refresh to the current date as soon as someone changes the "Location" field. I have tried putting in the AfterUpdate part of Location...Me.Date.Requery.

I feel that I may be well off track but that the answer I require is not too difficult. Please could someone advise?!?!

TIA.

--Update--
Think I've sorted it now everyone!!
My code looks like this, seems to do the trick.

Private Sub Combo15_AfterUpdate()
Me.Date = Format(Now(), "dd/mm/yy")
End Sub

I guess I should learn to try my hardest before posting here!! :)

View 2 Replies View Related

Using AfterUpdate To Populate Text Box From Combo Value?

Jun 29, 2006

Hello,

First post, new here. :)

I'm doing a course on Access and I'm trying to populate a text box based on the value I select in a combo box.

Basically, in the combo box I want to select a drug (for pets, it's for a veterinary clinic...) and in the text box next to it I want the cost to pop up. The list of drugs with their costs are listed in a separate table, with the drug name in column 1 (counting from 0) and the cost in column 3. I then have a continous form so I'd like to be able to keep adding drugs and their costs and then sum up the drug costs in a text box with the total.

Any help is much appreciated.

View 2 Replies View Related

Modules & VBA :: AfterUpdate Not Working - No Value In Table

Oct 21, 2013

I have an afterupdate event that is supposed to send an email when a box is updated. Most of the times the code works fine except for one case.

The code checks the value of a field in subform in another tab of the same form

Code:
'find the MSM date
[Forms]![Project Main]![Marketing Specialist Main]![MSMDate].SetFocus
MSMDate = Nz([Forms]![Project Main]![Marketing Specialist Main]![MSMDate].value, "__-___-__")

This field (MSMDate) keeps its value in a separate table.

The problem comes when there is no value in this other table for the given project. If this is the case, the subform does not even appear on the main form (it is all a grey box) and the Setfocus returns an error.

I tried to comment the setfocus line to see what the NZ function would do in the next line and it also returns an error.

It is almost as if the subform was not "initialized" for that particular record...

How can I account for those cases?

View 4 Replies View Related

Forms :: AfterUpdate Move Value To A Table

Jul 12, 2013

I have a form with a combox control that is bound to a table. It is a status field. When the status changes, I would like to take the OldValue of both the status combobox and the status date and move them to a table that when accessed will show a history of the prior status and corresponding dates.

View 14 Replies View Related

Paste From Excel Not Firing AfterUpdate Event

Aug 9, 2006

I have structured a subform as a datasheet to allow users to copy and paste from Excel into the database. Datasheet has numerous fields and 18 rows. I have set up recalculations of other data in the AfterUpdate event of the fields in the datasheet. This works perfectly until the user copies multiple rows from Excel and pastes them (one column at a time) into the datasheet.
Is there an event I can capture when the user copies and pastes a column?
Muchas-Grasias for any assistance.

View 6 Replies View Related

Quirky Setfocus Behavior In Afterupdate Code

Jan 8, 2005

Hi -

I have a form with a subform in a datasheet view. They are arranged in a one-to-many relationship (It is an order header and then order detail setup). I am trying to get it so if a user updates a particular field (QTY) in the subform (which is in datasheet view), they must also update another field (SelectSize) in the same record. I have created an 'AfterUpdate' event for the QTY field. In it I have:


----------------
Private Sub QTY_AfterUpdate()

Forms![OrderForm]![OrderSubForm]![SelectSize].SetFocus

End Sub
--------------

The problem is if I already have data in the subform (e.g. 5 records), and I go to update the QTY in record #2, when the setfocus command runs, it puts me in the SelectSize field in record #5 instead of record #2. It doesn't matter what record number I try to edit, it always puts me in the SelectSize of the last existing record number. I have tried replacing "Forms![OrderForm]![OrderSubForm]![SelectSize].SetFocus" with "Me![SelectSize].SetFocus", but unsurprisingly, this does the same thing.

Does anyone know how to make the setfocus stay within the same record?

I am using Access 2003 (11.6355.6360) SP1.

Thank you,
John

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved