PDA

View Full Version : سوال: فيلتر چند مرحله ايي



amiralex
شنبه 28 اردیبهشت 1392, 09:01 صبح
با سلام

يه سوالي دارم كه خيلي برام مهمه كه هرچه سريعتر به پاسخ برسم
ممنون ميشم از اساتيد جواب بدن

من يه فرمي دارم كه عكسشو در زير گذاشتم
ميخوام با تيك زدن مثلا قسمت جنسيت (مرد) و تيك زدن در قسمت گروه پرداخت (بازنشسته) ديتاگيرد فيلتر بشه و بتونم ازش پرينت بگيرم
چي كار بايد بكنم؟

اگه بخوام اين فيلتر گستره بيشتري پيدا كنه چي ؟ مثلا بخوام همون شرط بالا بعلاوه تيك زدن در قسمت سمت (مدير كل) هم بهش اضافه كنم چي؟

يعني ميخوام تمام مردهايي كه بازنشسته هستند و سمت مدير كل دارن نشون داده بشه



ممنونم

vbhamed
شنبه 28 اردیبهشت 1392, 12:52 عصر
سلام
تو مثال زير ابتدا اسم جدول و فيلدهاي خودتون رو درست كنيد، هر چند تا شرط ديگه هم بخواين مي‌تونين با And اضافه كنين
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * From TableName Where Jensiat = 'مرد' And GroupPardakht = 'بازنشسته' And Semat = 'مدير كل' "
Adodc1.Refresh

amiralex
شنبه 28 اردیبهشت 1392, 14:46 عصر
ممنونم ازتون
اگه با شي Data بخوام اين كار رو بكنم بجاي Adodc چي جوري ميشه؟

اگه يكي از شرطها خالي باشه مشكلي پيش نمياد؟

با تشكر

vbhamed
یک شنبه 29 اردیبهشت 1392, 07:40 صبح
سلام
Data1.RecordSource = "Select * From TableName Where Jensiat = 'مرد' And GroupPardakht = 'بازنشسته' And Semat = 'مدير كل' "
Data1.Refresh
منظورتون از خالي گذاشتن شرط چيه ؟
اگر كلا شرط رو نذاريد كه خب چيزي چك نميشه
اگرم داخل عبارت رو خالي بزاريد مثلا جنسيت، اونموقع دنبال ركوردهايي مي‌گرده كه جنسيتي براشون ثبت نشده يعني اين فيلدشون خاليه

amiralex
یک شنبه 29 اردیبهشت 1392, 11:02 صبح
ممنون از پاسختون

يه سوال ديگم اينه اگه مثلا بخوام در گروه پرداخت اونهايي عاديكار و خدمات هستند رو نشون بده ولي اونهايي كه بازنشسته هستند نشون نده چي؟

من از اين روش براي فيلتر گزاري استفاده ميكنم. اگه ميشه توهمين برام توضيح بديد ممنون ميشم

adoPrimaryRS.Filter = "gorohepardakht like '" & "عاديكار" & "' and gorohepardakht like '" & "خدمات" & "'"
cmdRefresh_Click

vbhamed
یک شنبه 29 اردیبهشت 1392, 12:48 عصر
سلام
براي بازنشسته از not like استفاده كنيد
ضمنا تو اين روش شما تمام ركوردها از بانك خونده شده و بعد فيلتر ميشه كه روش خوبي نيست چون سرعت رو پايين مياره مخصوصا تو ركوردهاي زياد ولي تو روش قبلي فقط اطلاعات مورد نياز خونده ميشه

شما بايد SQL كار كنيد
لينك زير رو ببينيد
http://www.w3schools.com/sql/sql_where.asp

amiralex
یک شنبه 29 اردیبهشت 1392, 14:04 عصر
آقا حامد من هرچي از not like استفاده ميكنم جواب نميده

چيكار كنم؟ ميشه نمونشو مثل كد بالا برام بذاريد؟

vbhamed
سه شنبه 31 اردیبهشت 1392, 02:22 صبح
سلام

adoPrimaryRS.Filter = "not gorohepardakht like '" & "عاديكار" & "'"