Results 1 to 3 of 3

Thread: Passing a variable to an Object Name in Access.

  1. #1

    Thread Starter
    New Member
    Join Date
    Oct 2008
    Posts
    4

    Passing a variable to an Object Name in Access.

    Hello,
    I have a form that has many text fields with the same name and a different number at the end. In order to hide this fields upon load is there a way for me to pass a number variable to be used in the obects name??? I would want to have one sub routine instead of 6.

    I.E. -
    Public Sub LoadNumbersToQuote()
    On Error Resume Next
    Dim QuoteNum As String
    QuoteNum = "2"
    Call ChangeVisible2(QuoteNum, False)
    ChangeVisible3 (False)
    ChangeVisible4 (False)
    ChangeVisible5 (False)
    ChangeVisible6 (False)
    End Sub

    Public Sub ChangeVisible2(number As String, truefalse As Boolean)
    Me.txtRawMat[number].Visible = truefalse 'code something likethis ????? instead of the following lines with 6 different subroutines
    Me.txtDirLabor2.Visible = truefalse
    Me.txtOH2.Visible = truefalse
    Me.TxtTotVar2.Visible = truefalse
    Me.txtSetup2.Visible = truefalse
    Me.txtTotCost2.Visible = truefalse
    Me.txtRawMatPct2.Visible = truefalse
    Me.txtDirLabPct2.Visible = truefalse
    Me.txtOHPct2.Visible = truefalse
    Me.txtSetupPct2.Visible = truefalse
    Me.txtTotMarPct2.Visible = truefalse
    Me.txtRawMatDol2.Visible = truefalse
    Me.txtDirLabDol2.Visible = truefalse
    Me.txtOHDol2.Visible = truefalse
    Me.txtSetupDol2.Visible = truefalse
    Me.txtTotMarDol2.Visible = truefalse
    Me.txtSPRawMat2.Visible = truefalse
    Me.txtSPDirLab2.Visible = truefalse
    Me.txtSPOH2.Visible = truefalse
    Me.txtSPSetup2.Visible = truefalse
    Me.txtSPTotal2.Visible = truefalse
    End Sub

    Public Sub ChangeVisible3(truefalse As Boolean)
    Me.txtRawMat3.Visible = truefalse
    Me.txtDirLabor3.Visible = truefalse
    Me.txtOH3.Visible = truefalse
    Me.TxtTotVar3.Visible = truefalse
    Me.txtSetup3.Visible = truefalse
    Me.txtTotCost3.Visible = truefalse
    Me.txtRawMatPct3.Visible = truefalse
    Me.txtDirLabPct3.Visible = truefalse
    Me.txtOHPct3.Visible = truefalse
    Me.txtSetupPct3.Visible = truefalse
    Me.txtTotMarPct3.Visible = truefalse
    Me.txtRawMatDol3.Visible = truefalse
    Me.txtDirLabDol3.Visible = truefalse
    Me.txtOHDol3.Visible = truefalse
    Me.txtSetupDol3.Visible = truefalse
    Me.txtTotMarDol3.Visible = truefalse
    Me.txtSPRawMat3.Visible = truefalse
    Me.txtSPDirLab3.Visible = truefalse
    Me.txtSPOH3.Visible = truefalse
    Me.txtSPSetup3.Visible = truefalse
    Me.txtSPTotal3.Visible = truefalse
    End Sub


    Thanks In advance!

  2. #2
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,974

    Re: Passing a variable to an Object Name in Access.

    Welcome to VBForums

    First of all I'd strongly recommend reading the article What is wrong with using "On Error Resume Next"? from our Classic VB FAQs (in the FAQ forum, which is shown near the top of our home page).

    In terms of your question, I'm not sure if Access does it in quite the same way as VB6 does, but if it does this should work for you:
    Code:
    Me.Controls("txtRawMat" & number).Visible = truefalse

  3. #3

    Thread Starter
    New Member
    Join Date
    Oct 2008
    Posts
    4

    Thumbs up Re: Passing a variable to an Object Name in Access.

    Big thanks!

Posting Permissions

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



Click Here to Expand Forum to Full Width