امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
سه فیلتر در نمایس لیست باکس
نویسنده پیام
yashar_2006 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 31
موضوع‌ها: 9
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 10
( 8 تشکر در 5 ارسال )
ارسال: #1
سه فیلتر در نمایس لیست باکس
سلام
یه برنامه دارم متصل هست به بانک اکسس
فیلد های بانک اکسس عبارت هست از : جنسیت ، نام ، سن
داخل برنامه هم یه کمبوباکس برای جنسیت داریم ، دوتا تکست باکس یکی برای نام و یکی برای سن داریم ، یک لیست باکس برای نمایش نتیجه جستجو

1. حالا میخواهیم با کمبوباکس اول جنست رو مشخص کنیم
2. با تکست باکس اول نام رو سرچ کنیم  و با تکست باکس دوم سن رو
قسمت 1 و 2 هر دو جداگانه کار میکنن اما با هم نه
یعنی نمیشه هر سه فیلتر رو اعمال کرد ( مثال : وقتی جنسیت رو میزاریم روی مرد و سن رو سرچ میکنیم لیست باکس اسامی مرد و زن را باهم نمایش میدهد )
کسی میتونه کمک کنه ؟
سورس هم ضمیمه شد


فایل‌(های) پیوست شده
.zip   sam.zip (اندازه: 22.45 KB / تعداد دفعات دریافت: 52)
۲۰-تير-۱۳۹۶, ۲۳:۳۲:۱۷
ارسال‌ها
پاسخ
yashar_2006 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 31
موضوع‌ها: 9
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 10
( 8 تشکر در 5 ارسال )
ارسال: #2
RE: سه فیلتر در نمایس لیست باکس
امیدوارم به درد کسی بخوره

باید این کد رو در

combo1_click
text1_change
text2_change

قرار داد تا همیشه 3 تا فیلتر اعمال بشه




کد:
List1.Clear
   Dim cnn As New ADODB.Connection
   Dim RS As New ADODB.Recordset
   Dim SQL As String
   CnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/database.mdb;Persist Security Info=False;Jet OLEDB:Database Password="
   cnn.Open CnnStr
   If Combo1.ListIndex = 0 Then
   SQL = "SELECT * FROM db WHERE name LIKE ('%" & Text1.Text & "%')and old LIKE ('%" & Text2.Text & "%') ORDER BY name"
   ElseIf Combo1.ListIndex = 1 Then
   SQL = "SELECT * FROM db WHERE name LIKE ('%" & Text1.Text & "%')and old LIKE ('%" & Text2.Text & "%')and jensiat LIKE ('m') ORDER BY name"
   ElseIf Combo1.ListIndex = 2 Then
   SQL = "SELECT * FROM db WHERE name LIKE ('%" & Text1.Text & "%')and old LIKE ('%" & Text2.Text & "%')and jensiat LIKE ('f') ORDER BY name"
   End If
   RS.Open SQL, cnn
   While RS.EOF = False
       List1.AddItem RS("name")
       List1.ItemData(List1.ListCount - 1) = RS("id")
       RS.MoveNext
   Wend
   RS.Close
   cnn.Close
   Set RS = Nothing
   Set cnn = Nothing
(آخرین ویرایش در این ارسال: ۲۱-تير-۱۳۹۶, ۱۶:۲۵:۳۳، توسط yashar_2006.)
۲۱-تير-۱۳۹۶, ۱۶:۲۳:۳۴
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, azade1992


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راهنمایی در مورد tool tip تکست باکس drc0de 4 1,219 ۱۸-تير-۱۳۹۹, ۱۴:۴۷:۱۹
آخرین ارسال: drc0de
  تکست باکس عددی و جدا کننده سه رقمی drc0de 1 869 ۱۸-تير-۱۳۹۹, ۱۴:۴۶:۱۳
آخرین ارسال: drc0de
  فیلتر چن مرحله ای adodc yashar_2006 2 1,305 ۰۵-آذر-۱۳۹۷, ۰۸:۵۵:۲۹
آخرین ارسال: Di Di
  [فوری] کد یافتن عدد در تکست باکس yashar_2006 5 4,126 ۲۷-بهمن-۱۳۹۶, ۰۲:۲۴:۱۵
آخرین ارسال: yashar_2006
  [سوال] لیست غیرتکراری مقادیر یک رنج eppagh 1 2,638 ۲۶-شهریور-۱۳۹۴, ۰۹:۱۷:۲۹
آخرین ارسال: moderator
  [سوال] کنترل مقدار نوع داده که از تکس باکس فرم دریافت می شود eppagh 2 3,307 ۰۲-مرداد-۱۳۹۴, ۱۰:۵۴:۰۰
آخرین ارسال: Ghoghnus
  [سوال] قفل شدن شیت با امکان سورت و فیلتر eppagh 0 2,214 ۲۹-مرداد-۱۳۹۳, ۲۰:۲۱:۲۱
آخرین ارسال: eppagh
  نمایش آخرین خط تکت باکس mahdi321 2 3,122 ۱۷-مرداد-۱۳۹۳, ۱۸:۵۳:۴۴
آخرین ارسال: Vb6Moderator
  باکس alitoropche 2 2,636 ۲۱-اردیبهشت-۱۳۹۳, ۲۲:۴۵:۱۱
آخرین ارسال: alitoropche
  غير فعال کردن مسيج باکس در وب بروزر mehdirani 1 2,484 ۲۳-اسفند-۱۳۹۲, ۲۰:۲۵:۰۴
آخرین ارسال: babyy

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS