نمایش نتایج: از شماره 1 تا 7 , از مجموع 7

موضوع: فرم جستجوی پیشرفته با اشکال مواجه شده

  1. #1


    آخرین بازدید
    2021/08/16
    تاریخ عضویت
    December 2015
    محل سکونت
    قم
    نوشته ها
    19
    امتیاز
    14
    سپاس
    11
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

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

    سلام خدمت اساتید ارجمند خودم در این سایت
    از راهنمایی ها و آموزش های شما تشکر دارم اجرکم عندالله
    در فرم پیوست اولا که چون فایل ماکرو انیبل آپلود نشد فرمتش رو عوش کردم لطفا با فرمت ماکرو انیبل save as شود
    من وقتی در تکست باکس یک جستجو را انجام می دهم مشکلی نیست ولی وقتی یک جستجو را با دو آیتم میخواهم انجام دهم و از تکست باکس دوم استفاده می کنم در بعضی از موارد نتیجه جستجو با مشکل مواجه می شود و آنهم به این صورت که نتیجه به تعداد مختلف در لیست باکس تکرار می شود
    به عنوان مثال موارد ذیل را امتحان کنید
    فهیمه آستانی=نتیجه درست
    فهیمه اعصاب مردان=نتیجه درست
    فهیمه سرپرستار=نتیجه درست
    آستانی سرپرستار=نتیجه درست
    ولی..........
    فهیمه رسمی= نتیجه مکررا تکرار شده است
    خیلی فکر کردم خدا خیرتون بده بگید مشکل کدم در کجاست
    از اینکه وقت صرف می کنید تشکر می کنم
    اون تصویر اشتباهی اومده
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست Untitled.jpg  
    فايل هاي پيوست شده فايل هاي پيوست شده
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.

  2.  

  3. #2


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,342
    امتیاز
    11574
    سپاس
    1,884
    سپاس شده
    8,164 در 3,010 پست
    تعیین سطح نشده است

    با سلام

    تغییراتی در بهبود سرچ فرم شما ایجاد شده که شماره سطر آیتمهای مشابهه تکست باکس اول را در حافظه کپی مینماید و با کمی حوصله میتوانید از این سطرها با تغییر تکست باکس دوم به نتیجه مطلوب برسید
    فایل را بررسی بفرمایید
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط iranweld : 2016/02/04 در ساعت 18:55


  4. #3


    آخرین بازدید
    2021/08/16
    تاریخ عضویت
    December 2015
    محل سکونت
    قم
    نوشته ها
    19
    امتیاز
    14
    سپاس
    11
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    سلام و ممنون از راهنماییتون
    چون می خام از لیست گزارش بگیرم باید جستجو به صورتی باشد که صرفا کلمه جستجو شده در لیست باکس بیاد نه سایر کلمات با مقادیر مشابه
    در ضمن اگه میشه میخام بدونم اشکال کد تکست باکس دو کجاست/خودم هرچی فکر کردم به نتیجه نرسیدم چون فرم های دیگری هم میخام طراحی کنم بدردم میخوره
    حانیه

  5. #4


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,518
    امتیاز
    6118
    سپاس
    2,884
    سپاس شده
    4,886 در 1,380 پست
    سطح اکسل
    71.67 %

    سلام،
    به نظرم يک کم لقمه را دور سرتان چرخاندين! فکر کنم راحت تر هم مي شد براي تکست باکس دو کدنويسي کرد.
    به هر حال چون گفته بوديد اشکال کد خودتان را پيدا کنم، من هم روي همان کد متمرکز شدم ببينم اشکالش کجا است،
    فکر کنم دو تا حلقه FOR که نوشته ايد در راستاي هم کار نمي کند، و هر کدام دارد مستقل کار مي کند!
    بايد وقتي B درحلقه اول پيدا شد، حلقه دوم مقدار C را فقط در سطر همان B که پيدا شده جستجو کند نه اينکه کل جدول را بگردد، به همين خاطر است که وقتي مقدار تکست باکس دوم در جدول داده ها تکراري باشد به همان مقدار تکرار سطر در ليست بکس ايجاد مي گردد.
    پس بايد کد حلقه متغيير C را به صورت زير تغيير دهيد:
    کد PHP:
     For Each c In Sheets("list").Range(Cells(b.Row1), Cells(b.Row9)) 
    ضمن اينکه کلا" اين نحوه کدنويسي شما درست نيست چون اگر مثلا" يک مورد در دو ستون در دو سطر متفاوت مشابه باشد، اطلاعات هر دو سطر را ليست مي کند!

    ویرایش توسط Ali Parsaei : 2016/02/06 در ساعت 22:41

  6. سپاس ها (3)


  7. #5


    آخرین بازدید
    2021/08/16
    تاریخ عضویت
    December 2015
    محل سکونت
    قم
    نوشته ها
    19
    امتیاز
    14
    سپاس
    11
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    ممنون از راهنماییتون
    حانیه

  8. #6


    آخرین بازدید
    2021/08/16
    تاریخ عضویت
    December 2015
    محل سکونت
    قم
    نوشته ها
    19
    امتیاز
    14
    سپاس
    11
    سپاس شده
    4 در 4 پست
    تعیین سطح نشده است

    واقعا از راهنماییتون متشکرم، مشکل کار همینجا بود، کد پیشنهادی رو اعمال کردم و نتیجه داد ، انشالله به مشکل دیگه ای برخورد نکنم، با این فرمایش شما کدهایی که نوشته بودم خیلی کوتاه شد و بسیاری از آن ها حذف شد. فایل اصلاح شده را گذاشتم و کدهایی که حذف شده مشخص است.
    نمیدونم به چه زبونی تشکر کنم خدا خیرتون بده
    این مشکل یک هفته بود ذهنمو درگیر کرده بود



    آیا دیگران هم پیشنهادات دیگری دارند؟
    فايل هاي پيوست شده فايل هاي پيوست شده
    حانیه

  9. سپاس ها (1)


  10. #7


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط حانیه نمایش پست ها
    سلام خدمت اساتید ارجمند خودم در این سایت
    از راهنمایی ها و آموزش های شما تشکر دارم اجرکم عندالله
    در فرم پیوست اولا که چون فایل ماکرو انیبل آپلود نشد فرمتش رو عوش کردم لطفا با فرمت ماکرو انیبل save as شود
    من وقتی در تکست باکس یک جستجو را انجام می دهم مشکلی نیست ولی وقتی یک جستجو را با دو آیتم میخواهم انجام دهم و از تکست باکس دوم استفاده می کنم در بعضی از موارد نتیجه جستجو با مشکل مواجه می شود و آنهم به این صورت که نتیجه به تعداد مختلف در لیست باکس تکرار می شود
    به عنوان مثال موارد ذیل را امتحان کنید
    فهیمه آستانی=نتیجه درست
    فهیمه اعصاب مردان=نتیجه درست
    فهیمه سرپرستار=نتیجه درست
    آستانی سرپرستار=نتیجه درست
    ولی..........
    فهیمه رسمی= نتیجه مکررا تکرار شده است
    خیلی فکر کردم خدا خیرتون بده بگید مشکل کدم در کجاست
    از اینکه وقت صرف می کنید تشکر می کنم
    اون تصویر اشتباهی اومده

    با درودفراوان

    نقل قول نوشته اصلی توسط حانیه
    استاد ارجمند جناب آقای شمس العلما
    سلام
    تشکر می کنم از راهنمایی های بسیار مفید و مطالب آموزنده ای که در سایت ارائه می فرمایید
    لطفا اگه امکانش هست فایل و ک
    کدهای textbox2 رو خیلی بالا و پایین کردم ولی نتیجه بدست نیاوردم. میخام بدونم کجای کدم مشکل داره که نتیجه دلخواه بدست نمیاد
    لطفا اگه میشه اشکال کد خودمو ببینید کجاست چون برای فرم های دیگرم هم باید استفاده کنم
    ممنون می شم

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

    با درود فراوان

    فایل رو دیدم و کدهای که نوشتی خوب بود امیدوارم همیه ش موفق باشی

    در مورد کدی که نوشتی در تکست باکس یک به این صورت هست

    کد PHP:

    Private Sub TextBox1_Change()On Error Resume NextListBox1.ClearDim b As Range        For Each b In Sheets("list").Range("a3:i5000")            If b.Value <> "" And TextBox1.Text Then
                        ListBox1
    .AddItem b.Value                For 0 To 11                    ListBox1.List(ListBox1.ListCount 12) = b.Offset(0, (-b.Column) + i).Text                Next i            End If        Next b
    End Sub 
    که به نظر کار را انجام میدهد ولی در صورتی که برای ما مهم نباشد که ورود تکست باکس یک در چه ستونی پیدا کند

    یعنی وقتی می نویسی 4 اگر این عدد برای فهمیه در ستون چهار باشد یک بار این سطر را وارد لیست میکند و اگر بازم در همین سطر شروع کار ماه هم چهار بود دوباره این سطر رو تکراری برای شما وارد لیست باکس میکند
    و از نظری دیگه اینکه اگر چهار مد نظر شما فقط شروع کار باشد این جستجو در ستونهای دیگر هم اگر چهار را پیدا کند وارد لیست میکند
    حالا نمیدانم شما به همین صورت مد نظرتون هست یا نه و این دلیلش اینه که محدود را در یک ستون نداده اید

    کد PHP:
        For Each b In Sheets("list").Range("a3:i5000"
    و محدود نوشته شده از ستون a تا i در حلقه نوشته شده .
    در غیر این صورت می بایست محدود را از a تا a بنویسید.
    به این صورت

    کد PHP:
        For Each b In Sheets("list").Range("a3:a5000"
    و با استفاده از کمبو باکس ستون مورد نظر را مشخص کنید برای جستجو که کد بداند در کدام ستون جستجو کند

    در کد تکست باکس دو
    دو حلقه جدا نوشته اید که اشکال کار اینجاست که اگر شما به دنبال فهمیه آستانی جستجو می کنید تکست باکس یک فهمیه را پیدا می کند و تکست باکس دو آستانی را پیدا میکند بدون در نظر گرفتن تکست باکس یک در نتیجه شما علاوه بر فهمیه آستای تمام کسانی که نام آنها فهیمه
    هست و تمام کسانی که فامیلی آنها آستانی هست را برای شما پیدا میکند .
    اگر همین مد نظر شما بود که هیچ ولی در غیر اینصورت باید یک حلقه بنویسید و ایفی که در اون حلقه می دین با با and تکست باکس دو هم همونجا چک کنه یعنی

    کد PHP:
     If b.Value <> "" And TextBox1.Text  and b.Offset(0,1) = TextBox2.Text  Then 
    یا به این صورت دو تا ایف تو در تو ولی با یک حلقه
    کد PHP:

    If b.Value <> "" And TextBox1.Text    Then
    If b.Offset(0,1).Value <> ""   and b.Offset(0,1) = TextBox2.Text  Then 
    و اینکه اگر میخواهید جستجوی پیشرفته بنویسید که در ستونهای مختلف جستجو کند بهتر این است که با دو تا کمبو باکس برای هر تکست باکس موضوع جستجو را مشخص کنید مثلا یک کمبو بالای تکست باکس یک که وقتی میخواهید نام را پیدا کنید از کمبو باکس نام را انتخاب میکنید و از کمبو باکس بالای تکست باکس دو گزینه مدرک پرستاری را انتخاب میکنید در نتیجه این بر مبنای این دو ستون جستجو میکند
    و همیشه بخاطر داشته بشید حلقه بهتر است از یک ستون انتخاب کنید مثلا از رنج a1:a5000 و با آفست بقیه ستون ها را مد نظر بگیرید
    ---------------------------------------------------------------------------------------------------
    بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
    shamsololama@yahoo.com
    09177733411



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. نحوه جستجو با استفاده از تابع وی لوکاپ روی دو مقدار
    توسط shaneh در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 16
    آخرين نوشته: 2016/02/04, 10:19
  2. پاسخ ها: 4
    آخرين نوشته: 2015/06/27, 18:34
  3. پیدا کردن کد های یک مجموعه با جستجوی کلمه
    توسط mj.gorji در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 6
    آخرين نوشته: 2015/05/07, 00:24
  4. جستجوی پیشرفته در اکسل چگونه است؟
    توسط zizo1st در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 10
    آخرين نوشته: 2014/09/22, 13:56
  5. افزونه جستجوی پیشرفته در فایل های اکسل
    توسط ~M*E*H*D*I~ در انجمن برنامه های کاربردی اکسل
    پاسخ ها: 3
    آخرين نوشته: 2014/06/26, 07:55

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد