Dan Waters
dwaters at usinternet.com
Thu Aug 28 10:47:59 CDT 2003
Steve - that would work. The issue is that I now have about 30 different date fields, with more to come, and each would need it's own public function because the events on different fields do different things. I'll add this to the possibles list! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Capistrant Sent: Thursday, August 28, 2003 9:28 AM To: Access Developers discussion and problem solving Subject: RE: [AccessD] Calling an AfterUpdate Event in a different form. Yes. Put all the AfterUpdate code into a public function in a standard module. Call it "AfterUpdateOfDateOnFormXXX()", something that can be globally unique. Then call that code from both contexts: the control's AfterUpdate property AND the external procedure. Steve Capistrant Symphony Information Services scapistrant at symphonyinfo.com Phone: 612-333-1311 www.symphonyinfo.com 212 3rd Ave N, Ste 404 Minneapolis, MN 55401 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Dan Waters Sent: Thursday, August 28, 2003 10:18 AM To: Database Advisors Subject: [AccessD] Calling an AfterUpdate Event in a different form. Is this possible? I have a calendar form that is triggered by double-clicking in a date field. Putting the date into the correct field works fine, but I need to be able to trigger the AfterUpdate event for whatever date field is on whatever form, and I haven't been able to figure this out. The AfterUpdate event is Public. The associated code is below, and is in a standard module: Public Function PopupCalendar(txt As TextBox) As Variant On Error GoTo EH [IN THIS EXAMPLE, txt = txtDateStart FROM THE CALLING FORM] Dim frmCal As Form Dim varStartDate As Variant Dim frmParent As Form Dim stgParent As String Dim stgAfterUpdateEvent As String If IsNull(txt.Value) Then varStartDate = CurrentDate Else varStartDate = txt.Value End If DoCmd.OpenForm "frmCalendar", , , , , acDialog, varStartDate If IsFormLoaded("frmCalendar") = True Then Set frmCal = Forms("frmCalendar") txt.Value = Format(DateSerial(frmCal!Year, frmCal!Month, frmCal!Day), "m/d/yy") stgParent = txt.Parent.Name Set frmParent = Forms(stgParent) stgAfterUpdateEvent = txt.Name & "_AfterUpdate" Call frmParent.stgAfterUpdateEvent [THIS IS WHAT I WANT - BUT NO DICE!] Call frmParent.txtDateStart_AfterUpdate [THIS WORKS, BUT WOULD NEED A CASE FOR EVERY FIELD!] DoCmd.Close acForm, "frmCalendar" Set frmCal = Nothing End If Exit Function EH: Application.Echo True Call GlobalErrors("", Err.Number, Err.Description, CurrentObjectName, "PopupCalendar", txt) End Function _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com