[AccessD] Calling an AfterUpdate Event in a different form.

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




More information about the AccessD mailing list