سوالاتي كه ذهن منو مشغول كرده ولي كسي جواب نداده

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

    • 2015/01/06
    • 72
    • 66.00

    سوالاتي كه ذهن منو مشغول كرده ولي كسي جواب نداده

    سلام
    1- آيا مي تونيم دستوري بنويسيم كه وقتي روي commandbutton با عنوان جديد كليك كرديم ، يك تكس باكس جديد ساخته بشه. يعني با هر بار كليك ، يك تكس باكس جديد در مكان معين ايجاد بشه
    2- آيا ميتونيم براي ليست باكس خط و كادر داشته باشيم تا از اين نماي ساده و بدون كادر دربياد؟
    3- آيا ميشه همهي اين دستورات vba رو توي اكسل بنويسيم ولي پايگاه داده اش اكسس باشه؟

    خواهش ميكنم كمك كنيد وبا مثال و فايل ضميمه جواب بدين
    ممنون
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزیز
    جواب سوالا خدمت شما
    ۱- بله امکان پذیره. یک نمونه براتون میذارم:
    کد:
    Private Sub CommandButton1_Click()
    UserForm1.Controls.Add "Forms.TextBox.1", "Name1", True
    With UserForm1!Name1
      .Text = "Hi"
      .Left = "12"
      .Top = "15"
    End With
      
    End Sub
    ۲- لیست باکس هایی که ایجاد میکنید بطور پیش فرض کادر داره منظورتون چجور کادری هست؟

    ۳- بله کاملا امکان پذیره. شما میتونین از اکسس به عنوان دیتابیس استفاده کنید و از طریق ابزارهای اکسل و یا کدنویسی vba با اون ارتباط برقرار کنید (با کمک متدهای ADO). ولی پیشنهاد من اینه که پایگاه دادتون رو داخل اکسل پیاده کنید.

    کامنت

    • zxcvbn

      • 2015/01/06
      • 72
      • 66.00

      #3
      دوست عزیز در مورد سوال یک واقعا ازت ممنونم ، واقعا عالی بود ، سوال ۲ من اینه که لیست باکس مثل یک جدول دارای border باشه ، در تمام قسمت سطر و ستون خط کشی باشه

      کامنت

      • zxcvbn

        • 2015/01/06
        • 72
        • 66.00

        #4
        یه سوال دیگه هم دارم و اون اینکه در مورد ۱ اگه بخوام با هر بار کلیک یک text box جدید در جاهای مختلف زیر هم ایجاد کنم دستور ش چی میشه
        ممنونم

        کامنت

        • zxcvbn

          • 2015/01/06
          • 72
          • 66.00

          #5
          چی شد پس؟

          کامنت

          • a.dal65

            • 2011/04/29
            • 384
            • 67.00

            #6
            برای سوال دومت :
            اگه منظورت اینکه هر سطری که توی لیست باکس میاد بوردر داشته باشه حالا چه سطری چه ستونی ، قبلا برای خودم کلی سرچ کرده بودم چیزی پیدا نکردم !

            برای سوال اولت که آقا امیر درست ترین راه رو پیشنهاد دادن ،
            (من یکبار برای خودم همین مشکل پیش اومد همه textbox ها رو تو جای که میخواستم ایجاد کردم بعد همه رو invisable کردم و هر وقت لازم داشتم visible میکردم

            کامنت

            • Amir Ghasemiyan

              • 2013/09/20
              • 4598
              • 100.00

              #7
              نوشته اصلی توسط zxcvbn
              دوست عزیز در مورد سوال یک واقعا ازت ممنونم ، واقعا عالی بود ، سوال ۲ من اینه که لیست باکس مثل یک جدول دارای border باشه ، در تمام قسمت سطر و ستون خط کشی باشه
              فرم هاي vba فقط اين قابليت رو دارند كه دور كل ليست باكس بوردر بذارن. براي هر رديف اين امكان وجود نداره متاسفانه

              کامنت

              • Amir Ghasemiyan

                • 2013/09/20
                • 4598
                • 100.00

                #8
                نوشته اصلی توسط zxcvbn
                یه سوال دیگه هم دارم و اون اینکه در مورد ۱ اگه بخوام با هر بار کلیک یک text box جدید در جاهای مختلف زیر هم ایجاد کنم دستور ش چی میشه
                ممنونم

                براي اين سوالتون هم ميتونين از كد زير كمك بگيريد:

                کد:
                Private Sub CommandButton1_Click()
                Dim c As Control
                T = 0
                For Each c In UserForm1.Controls
                     If TypeName(c) = "TextBox" Then T = c.Top
                Next c
                T = 20 + T
                Set qq = UserForm1.Controls.Add("Forms.TextBox.1")
                With qq
                  .Text = "Hi"
                  .Left = "12"
                  .Top = T
                End With
                End Sub

                کامنت

                چند لحظه..