تابع شرطی در محیط vb

Collapse
X
 
  • زمان
  • Show
Clear All
new posts
  • amin.t

    • June 2014
    • 91

    تابع شرطی در محیط vb

    دوستان من یه فایل دارم که در ستون A لیست از افراد که بصورت متغییر است یعنی یا پاک می شن و یا اضافه.
    حالا یه یوزر فرم ساختم که بر اساس اسمی که در combobox وارد میشه میاد شماره رو جلوی اون اسم وارد می کنه . حالا می خواستم بدونم چطور تابع شرطی براش تعریف کنم که اگر اسمی که در combobox وارد میشه با لیست افراد در ستون A:A یکسان نبود به من پیغام عدم مغایرت بده.
    البته تو فایل ضمیمه یه تابع تعریف کردم ولی وقتی اسمی حرف ی رو داشت دیگه اون تابع جواب نمیده
    فایل های پیوست شده
  • amin.t

    • June 2014
    • 91

    #2
    دوستان و اساتید عزیز کسی جواب سئوالم رو نمی ده؟

    Comment

    • Javid Mokhtari
      مدير تالار ويژوال بيسيك

      • January 2012
      • 1213

      #3
      با سلام.
      متاسفانه من نتونستم منظورتون رو خوب متوجه بشم ...
      یعنی اگر اسمتون جزء اسامیتون نبود خطا بده ...؟
      دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
      بیش از 60 جلسه آموزش ویدئویی رایگان

      شرکت در دوره:

      https://javidsoft.ir/courses/


      Comment

      • amin.t

        • June 2014
        • 91

        #4
        بله
        اگر اسم جزء لیست نبود ایراد بگیره
        یعنی وقتی کاربر داره اسم رو وارد یا انتخاب می کنه (در combobox) اگر اسم جزء لیست نبود بهش اخطار بده که اسم وارد شده در لیست نیست

        Comment

        • Javid Mokhtari
          مدير تالار ويژوال بيسيك

          • January 2012
          • 1213

          #5
          اینکه کد نمیخواد.در قسمت Properties مربوط به (CB1 (
          combobox
          گزینه MatchRequired را رو حالت True قرار دهید .
          دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
          بیش از 60 جلسه آموزش ویدئویی رایگان

          شرکت در دوره:

          https://javidsoft.ir/courses/


          Comment

          • amin.t

            • June 2014
            • 91

            #6
            نوشته اصلی توسط jansiz hayat
            اینکه کد نمیخواد.در قسمت Properties مربوط به (CB1 (
            combobox
            گزینه MatchRequired را رو حالت True قرار دهید .
            دوست عزیز ممنون از راهنماییتون ولی cb1 من لیست افراد است که هم برای ثبت خرید و هم برای ثبت فروش استفاده می شه
            اگه گزینه ای که شما می فرمائید را فعال کنم در هنگام خرید نمی تونم اسم کسی رو اضافه کنم.
            فایل ضمیمه کمی کامل تر شده ،لطف می کنید یه نگاه بهش بندازید:
            فایل های پیوست شده

            Comment

            • Javid Mokhtari
              مدير تالار ويژوال بيسيك

              • January 2012
              • 1213

              #7
              نوشته اصلی توسط amin.t
              دوست عزیز ممنون از راهنماییتون ولی cb1 من لیست افراد است که هم برای ثبت خرید و هم برای ثبت فروش استفاده می شه
              اگه گزینه ای که شما می فرمائید را فعال کنم در هنگام خرید نمی تونم اسم کسی رو اضافه کنم.
              فایل ضمیمه کمی کامل تر شده ،لطف می کنید یه نگاه بهش بندازید:
              مساله این نیست که شما دارید خرید میکنید یا می فروشید، مساله اینه که یک لیست از افراد داشته باشید.که ممکنه شما به یک مشتری هم جنس را بفروشید و هم از وی جنسی را بخرید.پس شما باید قبل از عملیات اسم فرد مورد نظر را در لیست افرادتون ثبت کنید سپس اقدام به عملیات خرید و فروش کنید.
              دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
              بیش از 60 جلسه آموزش ویدئویی رایگان

              شرکت در دوره:

              https://javidsoft.ir/courses/


              Comment

              • amin.t

                • June 2014
                • 91

                #8
                نوشته اصلی توسط jansiz hayat
                مساله این نیست که شما دارید خرید میکنید یا می فروشید، مساله اینه که یک لیست از افراد داشته باشید.که ممکنه شما به یک مشتری هم جنس را بفروشید و هم از وی جنسی را بخرید.پس شما باید قبل از عملیات اسم فرد مورد نظر را در لیست افرادتون ثبت کنید سپس اقدام به عملیات خرید و فروش کنید.
                سلام دوست عزیز درست می فرمائید.
                میشه ابتدا اسم فرد رو وارد کرد و بعد اقدام به وارد کردن دادهای خرید یا فروش برای اون فرد کرد.
                اما برای جمع و جور بودن کار ،می خوام با یه یوزر فرم اینکار صورت بگیره.

                Comment

                • ~M*E*H*D*I~

                  • October 2011
                  • 4374

                  #9
                  درود
                  وقتی شما لیست کمبوباکس رو از داده ها ستون a میگیرید پس قطعا موقع انتخاب اسم همخوانی وجود داره دیگه

                  sigpic

                  Comment

                  • amin.t

                    • June 2014
                    • 91

                    #10
                    نوشته اصلی توسط ~M*E*H*D*I~
                    درود
                    وقتی شما لیست کمبوباکس رو از داده ها ستون a میگیرید پس قطعا موقع انتخاب اسم همخوانی وجود داره دیگه
                    سلام بر استاد عزیز آقای وطن پرست
                    بله کمبوباکس لیستشو از داده های ستون a می گیره و لی برای فروش اگر کاربر بطور دستی اسم کسی رو که قبلا خرید انجام نداده باشه رو وارد کنه و دکمه فروش رو بزنه چون قبلا موجودی نداشته عدد فروش منفی میشه. که این در عالم واقع درست نیست
                    مثل این می مونه که ما یه انبار داریم و نام کالاهایی که وارد انبار میشه و مقدار آنها رو باید با دکمه خرید ثبت کنیم
                    وکاربر زمانی مجاز به فروش(یا خروج)یه جنس است که قبلا در انبار وجود داشته باشه .
                    حالا من می خوام با دکمه زدن دکمه خرید کاربر بتونه هم اسم کالای جدید رو در کمبوباکس اضافه کنه و هم اگر اسم کالا قبلا در کمبو بود مقدار وارد شده جدید رو با مجودی جمع کنه
                    و با زدن دکمه فروش کاربر فقط مجاز به انتخاب اسامی موجودی انبار که در کمبو باکس ظاهر میشه، باشه و اگر بطور دستی کالایی رو وارد کرد که قبلا وجود نداشت یه پیام خطا ظاهر بشه.

                    Comment

                    • Javid Mokhtari
                      مدير تالار ويژوال بيسيك

                      • January 2012
                      • 1213

                      #11
                      نوشته اصلی توسط amin.t
                      سلام بر استاد عزیز آقای وطن پرست
                      بله کمبوباکس لیستشو از داده های ستون a می گیره و لی برای فروش اگر کاربر بطور دستی اسم کسی رو که قبلا خرید انجام نداده باشه رو وارد کنه و دکمه فروش رو بزنه چون قبلا موجودی نداشته عدد فروش منفی میشه. که این در عالم واقع درست نیست
                      مثل این می مونه که ما یه انبار داریم و نام کالاهایی که وارد انبار میشه و مقدار آنها رو باید با دکمه خرید ثبت کنیم
                      وکاربر زمانی مجاز به فروش(یا خروج)یه جنس است که قبلا در انبار وجود داشته باشه .
                      حالا من می خوام با دکمه زدن دکمه خرید کاربر بتونه هم اسم کالای جدید رو در کمبوباکس اضافه کنه و هم اگر اسم کالا قبلا در کمبو بود مقدار وارد شده جدید رو با مجودی جمع کنه
                      و با زدن دکمه فروش کاربر فقط مجاز به انتخاب اسامی موجودی انبار که در کمبو باکس ظاهر میشه، باشه و اگر بطور دستی کالایی رو وارد کرد که قبلا وجود نداشت یه پیام خطا ظاهر بشه.
                      کد زیر در هنگام ثبت بررسی می کند اگر نام مورد نظر درلیست بود که هیچ و لی اگر در لیست افراد وجود نداشت یک پیغامی به شما می دهد مبنی بر اینکه نام وارده در لیست نیست و از شما کسب تکلیف می کند که آیا نام وارده به لیست افراد اضافه شود یا خیر.
                      کد PHP:
                      Dim answ
                      If Cb1.ListIndex Or Cb1.ListIndex Cb1.ListCount Then
                         answ 
                      MsgBox("äÇã ãæÑÏ äÙÑ ÏÑ áíÓÊ ÔãÇ ãæÌæÏ äãí ÈÇÔÏ.ÂíÇ ãíÎæÇåíÏ Èå áíÓÊ ÇÖÇÝå ÔæÏ¿"vbYesNo)    
                      If 
                      answ vbYes Then  
                           Sheet2
                      .Range("a100000").End(xlUp).Offset(10).Value Cb1.Text
                              Dim a
                      e   
                       Cb1
                      .Clear
                              With Sheet2  
                            a 
                      = .Range("a1", .Range("a" Rows.Count).End(xlUp)).Value
                          End With  
                        With CreateObject
                      ("System.Collections.ArrayList"
                             For 
                      Each e In a
                                  
                      If (<> "") * (Not .Contains(CStr(e))) Then
                                      
                      .Add CStr(e)
                                  
                      End If
                              
                      Next
                              
                      .Sort:
                              
                      Cb1.List = .ToArray
                          End With
                          End 
                      If
                      End If 
                      بقیه کد هم از کد خودتون برداشته شده
                      امیدوارم مورد نظرتون باشه
                      Last edited by Javid Mokhtari; 2014/08/15, 14:00.
                      دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                      بیش از 60 جلسه آموزش ویدئویی رایگان

                      شرکت در دوره:

                      https://javidsoft.ir/courses/


                      Comment

                      • amin.t

                        • June 2014
                        • 91

                        #12
                        نوشته اصلی توسط jansiz hayat
                        کد زیر در هنگام ثبت بررسی می کند اگر نام مورد نظر درلیست بود که هیچ و لی اگر در لیست افراد وجود نداشت یک پیغامی به شما می دهد مبنی بر اینکه نام وارده در لیست نیست و از شما کسب تکلیف می کند که آیا نام وارده به لیست افراد اضافه شود یا خیر.
                        کد PHP:
                        Dim answ
                        If Cb1.ListIndex Or Cb1.ListIndex Cb1.ListCount Then
                           answ 
                        MsgBox("äÇã ãæÑÏ äÙÑ ÏÑ áíÓÊ ÔãÇ ãæÌæÏ äãí ÈÇÔÏ.ÂíÇ ãíÎæÇåíÏ Èå áíÓÊ ÇÖÇÝå ÔæÏ¿"vbYesNo)    
                        If 
                        answ vbYes Then  
                             Sheet2
                        .Range("a100000").End(xlUp).Offset(10).Value Cb1.Text
                                Dim a
                        e   
                         Cb1
                        .Clear
                                With Sheet2  
                              a 
                        = .Range("a1", .Range("a" Rows.Count).End(xlUp)).Value
                            End With  
                          With CreateObject
                        ("System.Collections.ArrayList"
                               For 
                        Each e In a
                                    
                        If (<> "") * (Not .Contains(CStr(e))) Then
                                        
                        .Add CStr(e)
                                    
                        End If
                                
                        Next
                                
                        .Sort:
                                
                        Cb1.List = .ToArray
                            End With
                            End 
                        If
                        End If 
                        بقیه کد هم از کد خودتون برداشته شده
                        امیدوارم مورد نظرتون باشه
                        سلام
                        بسیار عالی بود با این قسمت از کدتون تونستم مشکلم رو حل کنم
                        کد:
                        If Cb1.ListIndex < 0 Or Cb1.ListIndex > Cb1.ListCount Then
                        واقعا ممنون از راهنماییتون

                        Comment

                        Working...