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