ورود

View Full Version : کوئری گرفتن



sahra_777
چهارشنبه 02 آذر 1384, 08:16 صبح
سلام...
من یه جدول شامل نام-نام خانوادگی و... دارم میخواستم از این جدول به ازای هر change یک جستجو در این دو فیلد از ابتدای نام و نام خانوادگی انجام بدم من این کوئری رو اینطوری نوشتم
& "%' Name+' '+Fname like '%" & txtnm.Text ولی با این کوئری اگه به عنوان مثال "حم" تایپ شود تمامی رکوردهایی که در فیلد نام و نام خانوادگی آنها "حم" وجود دارد را نمایش میدهد من میخوام فقط آنهایی که ابتدای نام یه نام خانوادگی آنها با "حم" شروع میشود نمایش داده شود لطفا کمکم کنید

PalizeSoftware
چهارشنبه 02 آذر 1384, 08:47 صبح
علامت % رو در ابتدای رشته بردارید و اینطوری بنویسیدٍ


"SELECT *
FROM table1
WHERE Name+' '+Fname LIKE '" & txtnm.text & "%'"

sahra_777
چهارشنبه 02 آذر 1384, 10:11 صبح
ممنون از جوابتون ولی اینجوری از ابتدای نام شروع میکنه من میخوام هم ابتدای نام و ابتدای نام خانوادگی باشه مثلا اگه من محمد تایپ کنم فقط نامهای محمد رو به من نشون میده و نام خانوادگی محمدی رو نشون نمیده لطفا کمکم کنید

PalizeSoftware
چهارشنبه 02 آذر 1384, 10:19 صبح
خب از or استفاده کنید به این شکل


"SELECT *
FROM table1
WHERE Name LIKE '" & txtnm.text & "%' or fname LIKE '" & txtnm.text & "%'"

sahra_777
چهارشنبه 02 آذر 1384, 10:52 صبح
سلام ...خوب اگه من نام و فامیلی رو کنار هم تایپ کنم جواب میده؟؟؟؟ بعنوان مثال "محمد حمیدی"

sahra_777
چهارشنبه 02 آذر 1384, 11:15 صبح
سلام من اینجوری نوشتم و جواب داد
Name+' '+Fname like '" & txtnm.Text & "%' or Name like '" & txtnm.Text & "%' or Fname like '" & txtnm.Text

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

PalizeSoftware
چهارشنبه 02 آذر 1384, 11:27 صبح
دقیقا درسته.

M.kavyani
چهارشنبه 02 آذر 1384, 23:26 عصر
با سلام
من برای کوئری گرفت به روش زیر عمل میکنم و نتیجه هم میگیرم. ولی تو سایت که به این چنین سوالاتی برخوردم کسی چنین جوابی نداد. راستش دلیلشو نمی دونم و لی تا به حال برای من مناسب بوده شاید در آینده به مشکل بر بخورم نمی دونم...
من برای ایجا کوئری روی یکی از Table ها راست کلیک میکنم و گزینه OpenTable->Query را انتخاب میکنم و در صفحه باز شده کوئری مورد نظرم رو ایجاد میکنم مثل Access و بعد کد رو کپی میگرم و در جای مورد نظرم پیست میکنم.
به عبارتی کد نویسی نمی کنم در ضمن قسمت کوئریSQL خیلی کامل و جالب هم هست.

دوستان یه نظری در این مورد بدن ممنون میشم
در پناه حق موفق و کامروا باشید

PalizeSoftware
پنج شنبه 03 آذر 1384, 12:02 عصر
دوست عزیز نوشتن کوئری شما مشکلی ایجاد نمی‌کنه منتها در بیشتر مواقع نیاز هست تا یک یا چند عبارت در کوئری بسته به شرایط تغییر کند. بعنوان مثال فرض کنید که مشخصات دانش‌آموزی را می‌خواهید که کد 100 رو داشته باشه.


SELECT *
FROM tblStudent
WHERE StudentId=100;

نتیجه این کوئری همان مشخصات خواسته شده شماست. منتها اگر بخواهید این پرس و جو را کاربردی‌تر کنید نیاز هست که عدد 100 در کوئری تغییر کند که مثلا برای کد x جواب بده. پس از طریق کد و به عبارتی با concat کردن رشته شما کوئری موردنظر را می‌سازید و بعد اجرا می‌کنید.

سید مسعود موحد
پنج شنبه 03 آذر 1384, 13:00 عصر
با سلام
من برای کوئری گرفت به روش زیر عمل میکنم و نتیجه هم میگیرم. ولی تو سایت که به این چنین سوالاتی برخوردم کسی چنین جوابی نداد. راستش دلیلشو نمی دونم و لی تا به حال برای من مناسب بوده شاید در آینده به مشکل بر بخورم نمی دونم...
من برای ایجا کوئری روی یکی از Table ها راست کلیک میکنم و گزینه OpenTable->Query را انتخاب میکنم و در صفحه باز شده کوئری مورد نظرم رو ایجاد میکنم مثل Access و بعد کد رو کپی میگرم و در جای مورد نظرم پیست میکنم.
به عبارتی کد نویسی نمی کنم در ضمن قسمت کوئریSQL خیلی کامل و جالب هم هست.

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

M.kavyani
پنج شنبه 03 آذر 1384, 14:03 عصر
دوست عزیز نوشتن کوئری شما مشکلی ایجاد نمی‌کنه منتها در بیشتر مواقع نیاز هست تا یک یا چند عبارت در کوئری بسته به شرایط تغییر کند. بعنوان مثال فرض کنید که مشخصات دانش‌آموزی را می‌خواهید که کد 100 رو داشته باشه.


SELECT *
FROM tblStudent
WHERE StudentId=100;

نتیجه این کوئری همان مشخصات خواسته شده شماست. منتها اگر بخواهید این پرس و جو را کاربردی‌تر کنید نیاز هست که عدد 100 در کوئری تغییر کند که مثلا برای کد x جواب بده. پس از طریق کد و به عبارتی با concat کردن رشته شما کوئری موردنظر را می‌سازید و بعد اجرا می‌کنید.

با سلام خدمت دوست عزیز
من یادم رفته بود که ادامه کار رو بگم بعد همین کاری رو انجام میدهم که دوستمون در زیر بیان کردند


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

حالا مشکل دیگری هم وجود دارد؟
در پناه حق موفق و کامروا باشید