+ Reply to Thread
Results 1 to 5 of 5

Closing user form in Initialize macro?

  1. #1
    Don Wiss
    Guest

    Closing user form in Initialize macro?

    I have a situation where the user form Initialize routine can fail to
    retrieve data from Access (which is used to populate a combo box). I now
    display a msgbox, but I then have to display the form, which of course is
    non-functional. I tried using Unload Me, but it didn't work. Presumably
    as the form wasn't yet loaded. I would think there must be a way to abort
    an initialization and not display the form.

    Don <www.donwiss.com> (e-mail link at home page bottom).

  2. #2
    Jim Thomlinson
    Guest

    RE: Closing user form in Initialize macro?

    Check for a valid connection (abiolity to retrieve) prior to initailizing the
    form. If you are not going to be able to run the retrieve then dont run the
    initialize...

    HTH

    "Don Wiss" wrote:

    > I have a situation where the user form Initialize routine can fail to
    > retrieve data from Access (which is used to populate a combo box). I now
    > display a msgbox, but I then have to display the form, which of course is
    > non-functional. I tried using Unload Me, but it didn't work. Presumably
    > as the form wasn't yet loaded. I would think there must be a way to abort
    > an initialization and not display the form.
    >
    > Don <www.donwiss.com> (e-mail link at home page bottom).
    >


  3. #3
    Bob Phillips
    Guest

    Re: Closing user form in Initialize macro?

    Couple of ways, but both flash the form unfortunately.

    1) If the conditions is met in Initialize, set a variable. Test the
    variable in Activate event, and if set, unload the form

    2) Good old Ontime. If the condition is met set a timed procedure

    Application.OnTime Now + TimeSerial(0, 0, 1), "UnloadForm"

    And in a standard code module, create a procedure called UnloadForm that
    unloads the form.

    --

    HTH

    RP
    (remove nothere from the email address if mailing direct)


    "Don Wiss" <donwiss@no_spam.com> wrote in message
    news:[email protected]...
    > I have a situation where the user form Initialize routine can fail to
    > retrieve data from Access (which is used to populate a combo box). I now
    > display a msgbox, but I then have to display the form, which of course is
    > non-functional. I tried using Unload Me, but it didn't work. Presumably
    > as the form wasn't yet loaded. I would think there must be a way to abort
    > an initialization and not display the form.
    >
    > Don <www.donwiss.com> (e-mail link at home page bottom).




  4. #4
    Stevie_mac
    Guest

    Re: Closing user form in Initialize macro?

    There is 2 things you can do...

    1. Move your code to UserForm_Activate. If an error occurs, you can unload in there.
    or
    2. Move your code to a Module & if the Access query succeeds, show the form, if not, show the error.

    Example of No 2...

    Sub LoadDataForm()
    Dim f As frmData
    Set f = New frmData
    If f.GetAccessData() = True Then
    f.Show
    Else
    MsgBox f.GetLastError() 'you'd have to add this!
    End If
    Set f = Nothing
    End Sub



    "Don Wiss" <donwiss@no_spam.com> wrote in message news:[email protected]...
    >I have a situation where the user form Initialize routine can fail to
    > retrieve data from Access (which is used to populate a combo box). I now
    > display a msgbox, but I then have to display the form, which of course is
    > non-functional. I tried using Unload Me, but it didn't work. Presumably
    > as the form wasn't yet loaded. I would think there must be a way to abort
    > an initialization and not display the form.
    >
    > Don <www.donwiss.com> (e-mail link at home page bottom).




  5. #5
    Tim Zych
    Guest

    Re: Closing user form in Initialize macro?

    Another possibility.

    Load the userform. Check if the Combobox has any items (Combobox1.ListCount
    > 0) and then proceed. appropriately.


    something like

    Load UserForm1
    If UserForm1.ComboBox1.ListCount > 0 Then
    UserForm1.Show
    Else
    Unload UserForm1
    End If

    where the UserForm's Initialize event loads the combobox with MS Access
    data.

    worked for me.


    "Don Wiss" <donwiss@no_spam.com> wrote in message
    news:[email protected]...
    > I have a situation where the user form Initialize routine can fail to
    > retrieve data from Access (which is used to populate a combo box). I now
    > display a msgbox, but I then have to display the form, which of course is
    > non-functional. I tried using Unload Me, but it didn't work. Presumably
    > as the form wasn't yet loaded. I would think there must be a way to abort
    > an initialization and not display the form.
    >
    > Don <www.donwiss.com> (e-mail link at home page bottom).




+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1