textbox

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • intro

    • 2010/11/29
    • 140
    • 68.00

    textbox

    سلام
    فرمي براي ورود اطلاعات دارم كه در هر مرحله نياز به چند تا تكست دارم اما تعداد تكستها در اين فرم در هر مرحله فرق دارد . آيا ميشه با باز شدن هر فرم تعداد مورد نياز تكست ها را در ايجاد نمود. مثلا وقتي با يه كامندي اين فرم را باز كنيم 10 تا تكست ايجاد بشه و با يه كامند ديگه اي 12 تا تكست باز بشه ؟ البته در طراحي فرم هيچ تكستي گذاشته نشود و تكست ها به صورت بالا ايجاد و ساخته بشن.
    [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]
  • Nima

    • 2011/07/22
    • 385

    #2
    با استفاده از کد زیر موقع لود شدن فرم 5 تا تکست باکس تو فرم ساخته میشه و برای اینکه تعداد تکست باکسها با هر یوزری که وارد میشه متفاوت باشه بقیه دوستان حتما نظر خواهند داد.

    کد PHP:
    'Option Explicit
    Private Sub UserForm_Initialize() 
           Dim txtB1 As Control
           Dim i
            For i = 0 To 5
            Set txtB1 = Controls.Add("Forms.TextBox.1") 
           With txtB1 
               .Name = "myText" & i 
               .Height = 20  
                .Width = 50   
                .Left = 10  
              .Top = 10 * i * 2   
         End With
        Next i  
    End Sub 
    Last edited by Nima; 2013/11/09, 12:03.
    [CENTER][COLOR=#ff0000]************************************[/COLOR]
    No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
    [COLOR=#ff0000]************************************[/COLOR]

    [/CENTER]

    کامنت

    • Nima

      • 2011/07/22
      • 385

      #3
      با استفاده از کد زیر قبل از اجرای فرم از طریق InputBox تعداد تکست باکسها از کاربر گرفته میشه بعد بر اساس همین تعداد تکست باکس به فرم اضافه میشود.

      کد:
      Private Sub UserForm_Initialize()
          Dim txtB As Control
          Dim i As Integer
          Dim txt As Integer
          
          txt = InputBox("ÊÚÏÇÏ Ê˜ÓÊ Èǘӿ", "ÊÚÏÇÏ")
      
      
          For i = 1 To txt
              Set txtB = Controls.Add("Forms.TextBox.1")
              With txtB
                  .Name = "myText" & i
                  .Height = 20
                  .Width = 80
                  .Left = 10
                  .Top = 10 * i * 2
              End With
          Next i
      End Sub
      [CENTER][COLOR=#ff0000]************************************[/COLOR]
      No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
      [COLOR=#ff0000]************************************[/COLOR]

      [/CENTER]

      کامنت

      • ahmada1983

        • 2012/08/02
        • 42

        #4
        سلام
        شما نام تکست باکس ها رو myText & i قرار دادین ولی موقعی که این تکس باکس مقدار می گیره چطوری مقدارشو به یک سلول در شیت بدیم (اگه توی حلقه for قرار بدیم این مقدار رو نمی شناسه cells(i , 1).value=mytext(i).value).می شه راهنمایی بفرمایید .ممنون

        کامنت

        • iranweld

          • 2015/03/29
          • 3341

          #5
          با سلام

          مقدار i را یک متغییر public در خط ابتدای ماژولها معرفی کنید

          کد PHP:
          Public As Integer 
          کد PHP:
          Public As Integer

          Private Sub CommandButton1_Click()


          For 
          1 To i 1

          Cells
          (t1) = Me.Controls("myText" t)

          Next

          End Sub




          Private Sub UserForm_Initialize()

              
          Dim txtB As Control
              
              Dim txt 
          As Integer
              
              txt 
          InputBox("input textbox count")
              
              For 
          1 To txt
                  Set txtB 
          Controls.Add("Forms.TextBox.1")
                  
          With txtB
                      
          .Name "myText" i
                      
          .Height 20
                      
          .Width 80
                      
          .Left 10
                      
          .Top 10 3
                  End With
              Next i
              
              UserForm1
          .Height = (10 3) + 50
          End Sub 
          فایل های پیوست شده
          Last edited by iranweld; 2018/08/26, 14:08.

          کامنت

          • ahmada1983

            • 2012/08/02
            • 42

            #6
            جناب iranweld ممنون از راهنماییتون
            من کدهارو روی فرم پیوست اجرا کردم ولی یه مشکل هست و اینکه بعد از اینکه کاربر جدید اضافه می کنم و تکست باکس ها به فرم اضافه می شن دگمه ثبت ناقص عمل می کنه یعنی فقط برای آخرین عضو(عضو جدید) کار می کنه و فقط اطلاعات اون ثبت می شه.
            ممنون
            فایل های پیوست شده

            کامنت

            • iranweld

              • 2015/03/29
              • 3341

              #7
              با سلام

              فایل پیوست را بررسی کنید
              فایل های پیوست شده

              کامنت

              • ahmada1983

                • 2012/08/02
                • 42

                #8
                با تشکر از شما
                نه مثل اینکه درست نشده.مشکل اینکه بعد از ایجاد فرم و وقتی بخوای نفر جدید اضافه کنی دیگه اطلاعات مقابل نفرات ثبت نمی شه و فقط همون ردیف آخر ثبت می شه
                باز هم ممنون

                کامنت

                • ahmada1983

                  • 2012/08/02
                  • 42

                  #9
                  سلام
                  در مورد دکمه ای که قرار هست تکست باکس و لیبل ایجاد کنه اگه دکمه رو توی یک frame بذاریم دکمه عمل می کنه ولی با این تفاوت که مواردی که ایجاد می کنه رو روی فرم اصلی و پشت frame ایجاد می کنه که دیده نمی شن .اگه ممکنه راهنمایی بفرمایید.ممنون

                  کامنت

                  چند لحظه..