+ Reply to Thread
Results 1 to 11 of 11

AfterUpdate Event not Running

Hybrid View

Guest AfterUpdate Event not Running 11-05-2005, 03:30 PM
Guest RE: AfterUpdate Event not... 11-05-2005, 04:35 PM
Guest Re: AfterUpdate Event not... 11-05-2005, 05:10 PM
Leith Ross Hello Craig, I suspect you... 11-05-2005, 10:20 PM
Guest Re: AfterUpdate Event not... 11-06-2005, 08:50 AM
  1. #1
    Craig
    Guest

    AfterUpdate Event not Running

    Hi There,
    I have a userform called frmThree which has a bunch of textboxes on it, when
    I run the userform the AfterUpdate Event runs fine when I hit enter on each
    textbox when I run it as a stand alone userform (from the Visual Basic
    Editor). When I try to run the program as it is mean't... the AfterUpdate
    Event doesn't Fire.
    My program first opens frmOne, from this I click on a button to sign in,
    this brings up frmPassword,I enter the code the frmPassword userform
    hides... and shows frmTwo... on frmTwo is a commandbutton that shows
    frmThree.
    Now when I enter a number in the textbox on frmThree the AfterUpdate doesn't
    fire thus not formatting my number in the textbox. At this point frmOne,
    frmTwo and frmThree would all be in the .show mode.

    Anyone no why, this is happening?


    Craig



  2. #2
    Martin Fishlock
    Guest

    RE: AfterUpdate Event not Running

    Craig

    A shot in the dark, what is the afterupdate code and where is it asigned?

    "Craig" wrote:

    > Hi There,
    > I have a userform called frmThree which has a bunch of textboxes on it, when
    > I run the userform the AfterUpdate Event runs fine when I hit enter on each
    > textbox when I run it as a stand alone userform (from the Visual Basic
    > Editor). When I try to run the program as it is mean't... the AfterUpdate
    > Event doesn't Fire.
    > My program first opens frmOne, from this I click on a button to sign in,
    > this brings up frmPassword,I enter the code the frmPassword userform
    > hides... and shows frmTwo... on frmTwo is a commandbutton that shows
    > frmThree.
    > Now when I enter a number in the textbox on frmThree the AfterUpdate doesn't
    > fire thus not formatting my number in the textbox. At this point frmOne,
    > frmTwo and frmThree would all be in the .show mode.
    >
    > Anyone no why, this is happening?
    >
    >
    > Craig
    >
    >
    >


  3. #3
    Craig
    Guest

    Re: AfterUpdate Event not Running

    'This code is all within the frmThree Userform
    Private Sub TextBox2_AfterUpdate()
    Call Update_Inventory(2)
    End Sub
    Private Sub TextBox3_AfterUpdate()
    Call Update_Inventory(3)
    End Sub

    Public Sub Update_Inventory(TBox As Integer)
    Dim iPass as Integer
    If TBox <= 20 Then iPass = TBox + 171
    If TBox >= 20 Then iPass = TBox + 151
    frmThree.Controls("TextBox" & TBox).Text =
    Format(frmThree.Controls("TextBox" & TBox).Text, "Currency")
    If TBox <= 20 Then SpecialCount.Cells(iPass, 14).Value =
    Format(frmThree.Controls("TextBox" & TBox).Text, "Currency")
    If TBox >= 21 Then SpecialCount.Cells(iPass, 26).Value =
    Format(frmThree.Controls("TextBox" & TBox).Text, "Currency")
    frmThree.TextBox116.Text = Format(SpecialCount.Range("Z190").Value,
    "Currency")
    End Sub

    This code runs fine if I only run the frmThree Userfrom, it doesn't when
    opened through other Userforms.
    Thanks Craig





    "Martin Fishlock" <MartinFishlock@discussions.microsoft.com> wrote in
    message news:DC7BFACC-C861-4CDF-B50B-A4066673D9F9@microsoft.com...
    > Craig
    >
    > A shot in the dark, what is the afterupdate code and where is it asigned?
    >
    > "Craig" wrote:
    >
    >> Hi There,
    >> I have a userform called frmThree which has a bunch of textboxes on it,
    >> when
    >> I run the userform the AfterUpdate Event runs fine when I hit enter on
    >> each
    >> textbox when I run it as a stand alone userform (from the Visual Basic
    >> Editor). When I try to run the program as it is mean't... the AfterUpdate
    >> Event doesn't Fire.
    >> My program first opens frmOne, from this I click on a button to sign in,
    >> this brings up frmPassword,I enter the code the frmPassword userform
    >> hides... and shows frmTwo... on frmTwo is a commandbutton that shows
    >> frmThree.
    >> Now when I enter a number in the textbox on frmThree the AfterUpdate
    >> doesn't
    >> fire thus not formatting my number in the textbox. At this point frmOne,
    >> frmTwo and frmThree would all be in the .show mode.
    >>
    >> Anyone no why, this is happening?
    >>
    >>
    >> Craig
    >>
    >>
    >>




  4. #4
    Forum Moderator Leith Ross's Avatar
    Join Date
    01-15-2005
    Location
    San Francisco, Ca
    MS-Off Ver
    2000, 2003, & 2010
    Posts
    23,259
    Hello Craig,

    I suspect you may have ambigious text box names. It isn't clear from your post if you are calling Update_Inventory from the other forms.

    I have cleaned your code up and added a restriction to it. If the text box isn't on frmThree then exit the routine. Look this over and let men know if I have understood you correctly or not.

    Calling the Sub:
    Update_Inventory (TextBox3)

    Updated Code:
    
    Sub Update_Inventory(ByRef TB As MSForms.TextBox)
    
      Dim frmName As String
      Dim tbName As String
      Dim tbNumber As Integer
      
        'Get the Name of the Form the TextBox is on
           frmName = TB.Parent.Name
        
        'Is TextBox on frmThree?
          If frmName <> "frmThree" Then Exit Sub
        
        'Get the TextBox Name
          tbName = TB.Name
          
        'Extract the TextBox Number
          tbNumber = Val(Mid(tbName, 8, Len(tbName) - 7))
      
          If tbNumber <= 20 Then iPass = tbNumber + 171
          If tbNumber >= 21 Then iPass = tbNumber + 151
    
          'Format the TextBox Text as Currency
            TB.Text = Format(TB.Text, "Currency")
       
            If tbNumber <= 20 Then SpecialCount.Cells(iPass, 14).Value = TB.Text
            If tbNumber >= 21 Then SpecialCount.Cells(iPass, 26).Value = TB.Text
    
        TextBox116.Text = Format(SpecialCount.Range("Z190").Value, "Currency")
      
    End Sub
    
    Sincerely,
    Leith Ross

  5. #5
    Jim May
    Guest

    Re: AfterUpdate Event not Running

    Leith, thanks for the code;
    notices the use of

    'Get the Name of the Form the TextBox is on
    frmName = TB.Parent.Name

    Is this sort of line available generically to any Userform.?

    I went into a Userform (VBE) and selected a textbox
    txtVenName and in the immediate window did:

    ? txtVenName.Parent.Name << expexting to get frmTest
    but instead get r/t error 424 - Object required.

    Can you clarify
    Thanks,
    Jim


    "Leith Ross" <Leith.Ross.1y1zrm_1131243901.8145@excelforum-nospam.com> wrote
    in message news:Leith.Ross.1y1zrm_1131243901.8145@excelforum-nospam.com...
    >
    > Hello Craig,
    >
    > I suspect you may have ambigious text box names. It isn't clear from
    > your post if you are calling Update_Inventory from the other forms.
    >
    > I have cleaned your code up and added a restriction to it. If the text
    > box isn't on frmThree then exit the routine. Look this over and let men
    > know if I have understood you correctly or not.
    >
    > CALLING THE SUB:
    > Update_Inventory (TextBox3)
    >
    > UPDATED CODE:
    >
    > Code:
    > --------------------
    >
    > Sub Update_Inventory(ByRef TB As MSForms.TextBox)
    >
    > Dim frmName As String
    > Dim tbName As String
    > Dim tbNumber As Integer
    >
    > 'Get the Name of the Form the TextBox is on
    > frmName = TB.Parent.Name
    >
    > 'Is TextBox on frmThree?
    > If frmName <> "frmThree" Then Exit Sub
    >
    > 'Get the TextBox Name
    > tbName = TB.Name
    >
    > 'Extract the TextBox Number
    > tbNumber = Val(Mid(tbName, 8, Len(tbName) - 7))
    >
    > If tbNumber <= 20 Then iPass = tbNumber + 171
    > If tbNumber >= 21 Then iPass = tbNumber + 151
    >
    > 'Format the TextBox Text as Currency
    > TB.Text = Format(TB.Text, "Currency")
    >
    > If tbNumber <= 20 Then SpecialCount.Cells(iPass, 14).Value = TB.Text
    > If tbNumber >= 21 Then SpecialCount.Cells(iPass, 26).Value = TB.Text
    >
    > TextBox116.Text = Format(SpecialCount.Range("Z190").Value, "Currency")
    >
    > End Sub
    >
    > --------------------
    >
    > Sincerely,
    > Leith Ross
    >
    >
    > --
    > Leith Ross
    > ------------------------------------------------------------------------
    > Leith Ross's Profile:
    > http://www.excelforum.com/member.php...o&userid=18465
    > View this thread: http://www.excelforum.com/showthread...hreadid=482515
    >




  6. #6
    Tom Ogilvy
    Guest

    Re: AfterUpdate Event not Running

    txtVenName isn't an object until the userform is loaded.

    You can do that by refering to it. so in the immediate window:

    ? userform1.TextBox1.Parent.Name
    UserForm1

    In Leith's code, the userform was already loaded.

    --
    Regards,
    Tom Ogilvy




    "Jim May" <jmay@cox.net> wrote in message
    news:aVmbf.9844$wC.5364@dukeread06...
    > Leith, thanks for the code;
    > notices the use of
    >
    > 'Get the Name of the Form the TextBox is on
    > frmName = TB.Parent.Name
    >
    > Is this sort of line available generically to any Userform.?
    >
    > I went into a Userform (VBE) and selected a textbox
    > txtVenName and in the immediate window did:
    >
    > ? txtVenName.Parent.Name << expexting to get frmTest
    > but instead get r/t error 424 - Object required.
    >
    > Can you clarify
    > Thanks,
    > Jim
    >
    >
    > "Leith Ross" <Leith.Ross.1y1zrm_1131243901.8145@excelforum-nospam.com>

    wrote
    > in message news:Leith.Ross.1y1zrm_1131243901.8145@excelforum-nospam.com...
    > >
    > > Hello Craig,
    > >
    > > I suspect you may have ambigious text box names. It isn't clear from
    > > your post if you are calling Update_Inventory from the other forms.
    > >
    > > I have cleaned your code up and added a restriction to it. If the text
    > > box isn't on frmThree then exit the routine. Look this over and let men
    > > know if I have understood you correctly or not.
    > >
    > > CALLING THE SUB:
    > > Update_Inventory (TextBox3)
    > >
    > > UPDATED CODE:
    > >
    > > Code:
    > > --------------------
    > >
    > > Sub Update_Inventory(ByRef TB As MSForms.TextBox)
    > >
    > > Dim frmName As String
    > > Dim tbName As String
    > > Dim tbNumber As Integer
    > >
    > > 'Get the Name of the Form the TextBox is on
    > > frmName = TB.Parent.Name
    > >
    > > 'Is TextBox on frmThree?
    > > If frmName <> "frmThree" Then Exit Sub
    > >
    > > 'Get the TextBox Name
    > > tbName = TB.Name
    > >
    > > 'Extract the TextBox Number
    > > tbNumber = Val(Mid(tbName, 8, Len(tbName) - 7))
    > >
    > > If tbNumber <= 20 Then iPass = tbNumber + 171
    > > If tbNumber >= 21 Then iPass = tbNumber + 151
    > >
    > > 'Format the TextBox Text as Currency
    > > TB.Text = Format(TB.Text, "Currency")
    > >
    > > If tbNumber <= 20 Then SpecialCount.Cells(iPass, 14).Value = TB.Text
    > > If tbNumber >= 21 Then SpecialCount.Cells(iPass, 26).Value = TB.Text
    > >
    > > TextBox116.Text = Format(SpecialCount.Range("Z190").Value, "Currency")
    > >
    > > End Sub
    > >
    > > --------------------
    > >
    > > Sincerely,
    > > Leith Ross
    > >
    > >
    > > --
    > > Leith Ross
    > > ------------------------------------------------------------------------
    > > Leith Ross's Profile:
    > > http://www.excelforum.com/member.php...o&userid=18465
    > > View this thread:

    http://www.excelforum.com/showthread...hreadid=482515
    > >

    >
    >




+ 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