textbox

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

    • 2015/07/19
    • 119
    • 38.00

    پرسش textbox

    با سلام با سلام من یک قبض مالیات دارم که مبلغ قبض مجموع چند دوره و سال است و باید مبلغ هر دوره و سال را جدا در محاسباتم داشته باشم مشکلی که دارم می خوام بعد از پر نمودن تکست باکس 6 یک ردیف دیگر از تکست باکس و کمبو باکس ایجاد کنم تا اطلاعاتشو پر کنم ولی نتونستم دستوراتشو بنویسم لطفا راهنمایی نمایید
    فایل های پیوست شده
  • sma4727134

    • 2015/07/19
    • 119
    • 38.00

    #2
    با سلام لطفا در صورت امکان سریعتر راهنمایی نمایید

    کامنت

    • sma4727134

      • 2015/07/19
      • 119
      • 38.00

      #3
      از استادان خواهش دارم کمکم کنند

      کامنت

      • sma4727134

        • 2015/07/19
        • 119
        • 38.00

        #4
        با سلام از دوستان کسی نمی خواد کمکم کند

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4598
          • 100.00

          #5
          نوشته اصلی توسط sma4727134
          با سلام با سلام من یک قبض مالیات دارم که مبلغ قبض مجموع چند دوره و سال است و باید مبلغ هر دوره و سال را جدا در محاسباتم داشته باشم مشکلی که دارم می خوام بعد از پر نمودن تکست باکس 6 یک ردیف دیگر از تکست باکس و کمبو باکس ایجاد کنم تا اطلاعاتشو پر کنم ولی نتونستم دستوراتشو بنویسم لطفا راهنمایی نمایید

          سلام دوست عزیز
          ایجاد تکست باکس یک قضیست. ثبت اطلاعات اون تکست باکس یه قضیه دیگه. یعنی میشه دو تا کار سخت و کدهای طولانی. من پیشنهاد میکنم اصلا همچین کاری نکنین
          پیشنهادی که من دارم اینه که شما مثلا ده ردیف تکست باکس ایجاد کنین و همه رو مخفی نگه دارید. بعد کدی در تکست باکس ۶ بنویسید که بعد از پر شدن این تکست باکس مثلا تکست باکس های ردیف دوم فعال بشن و با پر کردن تکست باکس ۱۲ ردیف سوم فعال بشن و ....

          کامنت

          • sma4727134

            • 2015/07/19
            • 119
            • 38.00

            #6
            با تشکر از آقایان قاسمیان و پارسائی و سایر دوستان و استادان من در خصوص برنامه ای که سعی در طراحی و نوشتنش هستم تا جاهایی را با راهنمایی دوستان پیش رفتم که فایلم را جهت راهنمایی بیشتر دوستان ضمیمه کردم در فایلم دو یوزر فرم موجود می باشد در یوزرفرم form1 من دستوراتی را جهت دکمه CommandButton قرار داده ام می خوام همین دستورات را در آخرین تکست باکس هر ردیف موقع خروج(exit) از تکست باکس اجرا شودهمانطور که ملاحظه می نمایید تعداد سطر زیاد هست و نمی خوام این دستور را در textbox_exit هر سطر بنویسم ایا دستوری هست که بتوان در هنگام خروج از تکست باکس آخر هر ردیف این دستورات را بررسب نماید.
            راستش من چیزی شبیه عکسهایی که ضمیمه کردم(مانند فاکتور که در پایان هر سطر با زدن دکمه اینتر یک سطر جدید باز نماید ) می خواستم و این روش به ذهنم خطور کرد اگر دوستان روش بهتری می دونن لطفا راهنمایی نمایند و ایا در یوزر فرم امکان ایجاد جدول وجو دارد
            فایل های پیوست شده
            Last edited by sma4727134; 2018/06/30, 23:37.

            کامنت

            • sma4727134

              • 2015/07/19
              • 119
              • 38.00

              #7
              لطفا راهنمایی نمایید

              کامنت

              • sma4727134

                • 2015/07/19
                • 119
                • 38.00

                #8
                دوستان نمی خوان کمک کنن

                کامنت

                • Amir Ghasemiyan

                  • 2013/09/20
                  • 4598
                  • 100.00

                  #9
                  سلام دوست عزيز
                  كاري كه من پيشنهاد ميكنم اينه كه از يك تابع استفاده كنيد. من تابع رو براتون نوشتم.

                  کد:
                  Function add_row(ctrl As Control, form As UserForm)
                  On Error Resume Next
                  a = MsgBox("ÂíÇ ÓØÑ ÌÏíÏ ÇíÌÇÏ ÔæÏ", vbYesNo + vbQuestion, "Exit")
                  x = CInt(Replace(ctrl.Name, "TextBox", ""))
                  If (a = vbYes) Then
                      For i = x + 1 To x + 3
                          form.Controls("TextBox" & i).Visible = True
                      Next i
                      For j = 2 / 3 * (x - 1) To 2 / 3 * (x - 1) + 1
                          form.Controls("ComboBox" & j).Visible = True
                      Next j
                      form.Controls("TextBox" & i).SetFocus
                  End If
                  End Function

                  حالا كافيه براي ايونت خروج از تكست باكس اين كد رو قرار بديد.
                  اين براي خروج از تكست باكس 7
                  کد:
                  Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
                  add_row TextBox7, form1
                  End Sub
                  اين براي خروج از تكست باكس 10
                  کد:
                  Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
                  add_row TextBox10, form1
                  End Sub
                  و به همين ترتيب الي آخر

                  کامنت

                  • sma4727134

                    • 2015/07/19
                    • 119
                    • 38.00

                    #10
                    دوست عزیز با تشکر از لطف جنابعالی من تابع جنابعالی را بررسی نمودم و ممنون ازتون بیشتر مشکلم حل شد لطفا در خصوص دستور پیدا کردن متغیر x x = CInt(Replace(ctrl.Name, "TextBox", "")))) یک کم توضیح بدهید ثانیا وقتی در آخرین تکست باکس هر ردیف کلیلک می کنیم
                    به جای اینکه setfocus بر روی اولین تکست باکس ردیف بعد قرار بگیرد بر روی
                    commandbottun قرار می گیرد دستور زیر وقتی تکست باکسها visibel می باشند

                    درست عمل می کند ولی وقتی از حالت visibel = false به حالت visibel= true
                    تبدیل می شود درست عمل نمی کند لطفا جنابعالی نیز دوباره بررسی نموده و
                    راهنمایی کنید و همچنین آیا امکانش هست در خصوص event خروج از حلقه استفاده نمود تا مجبور نباشیم برای هر تکست باکس جداگانه دستور را بنویسم
                    form.Controls("TextBox" & i).SetFocus

                    کامنت

                    • Amir Ghasemiyan

                      • 2013/09/20
                      • 4598
                      • 100.00

                      #11
                      نوشته اصلی توسط sma4727134
                      دوست عزیز با تشکر از لطف جنابعالی من تابع جنابعالی را بررسی نمودم و ممنون ازتون بیشتر مشکلم حل شد لطفا در خصوص دستور پیدا کردن متغیر x x = CInt(Replace(ctrl.Name, "TextBox", "")))) یک کم توضیح بدهید ثانیا وقتی در آخرین تکست باکس هر ردیف کلیلک می کنیم
                      به جای اینکه setfocus بر روی اولین تکست باکس ردیف بعد قرار بگیرد بر روی
                      commandbottun قرار می گیرد دستور زیر وقتی تکست باکسها visibel می باشند

                      درست عمل می کند ولی وقتی از حالت visibel = false به حالت visibel= true
                      تبدیل می شود درست عمل نمی کند لطفا جنابعالی نیز دوباره بررسی نموده و
                      راهنمایی کنید و همچنین آیا امکانش هست در خصوص event خروج از حلقه استفاده نمود تا مجبور نباشیم برای هر تکست باکس جداگانه دستور را بنویسم
                      form.Controls("TextBox" & i).SetFocus

                      خواهش ميكنم
                      کد:
                      x = CInt(Replace(ctrl.Name, "TextBox", ""))
                      اين كد به ما عدد تكست باكس رو ميده كه مبناي فعال كردن تكست باكس ها و كمبوباكس هامونه.
                      در مورد setfocuse نميدونم دقيقا مشكل چيه. يكي ديگه از دوستان هم اتفاقا همين اخيرا اين سوال رو پرسيدن. اگر راه حلشو پيدا كردم يا فهميدم مشكل از كجاست اطلاع رساني ميكنم

                      در مورد حلقه هم كه فرمودين خير امكان چنين كاري نيست. البته تا جايي كه من اطلاع دارم

                      کامنت

                      چند لحظه..