سوال در مورد جستجوی Sql

AliHSlc

Member
به نام خدا
سلام خدمت همه ی عزیزان
سوالی داشتم در مورد Sql . من زمانی که میخوام یک جستجو با دو ضابطه انجام بدم ، پیغام خطلا داده میشه.
مثلا وقتی این دستور رو به RecordSource نسبت میدم ... خطا میده...


SELECT feild1 , feild2 FROM table1 WHERE feild3 = 'EXAMPLE1' , feild4 = ''EXAMPLE2

با توجه به این دستور من میخوام : فیلد1 و فیلد2 از جدول1 انتخاب بشه ، در زمانی که فیلد3 برابر با EXAMPLE1 فیلد4 برابر EXAMPLE2 باشه... با این دستور همیشه با خطلا مواجه میشم و فقط زمانی که با یک ضابطه جستجو می کنم به من نتیجه رو نشون میده... مثلا اگر بنویسیم :
SELECT feild1 , feild2 FROM table1 WHERE feild3 = 'EXAMPLE1'
دیگه اشکالی نمی گیره.
ولی جستجوی اینجوری به درد من نمی خوره...
لطفا کمک کنید بگید چطور می تونم به نتیجه برسم...
 

saalek110

Well-Known Member
با سلام.
این طوری بنویس ببین درست میشه.

کد:
SELECT feild1 , feild2 FROM table1 WHERE feild3 = 'EXAMPLE1' AND feild4 = 'EXAMPLE2'
 
آخرین ویرایش:

AliHSlc

Member
سالک جان.... یک دنیا ممنون.... کارت خیلی درسته به خدا... نمی دونی چقدر سر این موضوع گیر بودم...

در مورد عملگر Like هم یه مشکلی دارم.... وقتی از خود برنامه ی Access از Like استفاده می کنم بی هیچ مشکلی نتیجه رو به من نشون میده...

اگر من توی یکی از فیلدها مقدار (Saalek) داشته باشم. وقتی اینطور جستجو می کنم ، هیچ فیلدی نشون داده نمیشه.

SELECT FeildName FROM TableName Where FeildName like 'sa*' x

با توجه به این خط (اگر از نظر دستوری مشکلی نداشته باشه) باید تمام فیلد هایی که با sa شروع میشه رو نشون بده.

ولی متاسفانه هیچ فیلدی نمایش داده نمیشه
 

saalek110

Well-Known Member
کد زیر جواب داد:
کد:
SELECT field2
FROM table1
WHERE field2 LIKE 'sa*';

یعنی افرادی که اسمشان با sa شروع شده بودند را چاپ کرد.

a1.gif

و جدول این بود:

a2.gif
 
آخرین ویرایش:

AliHSlc

Member
استاد سالک عزیز.... عرض کردم که توی خود برنامه ی Access مشکلی نداره... ولی توی برنامه جواب نمیده...
فکر کنم این بازجست رو شما توی خود محیط Access انجام داید...نه؟
 

saalek110

Well-Known Member
بله. من درست نخوانده بودم. شما در بالا گفته بودید در اکسس درست کار می کنه و من هم در اکسس امتحان کردم.
شما محیط کار خودتان را بگویید تا من آنجا چک کنم. یعنی شما در کجا دارید دستورات sql را بکار می برید؟
 
آخرین ویرایش:

AliHSlc

Member
سالک جان... من در وی-بی 6 میخوام این جستجو رو انچام بدم. و به وسیله ی کنترل ADO.
و نتیجه رو هم توی DataGrid نمایش بدم..
 

MnavidM

Active Member
دستور رو در VB به این صورت بنویس :

کد:
SELECT FeildName FROM TableName Where FeildName like 'sa%'

در اغلب زبان های برنامه نویسی از % استفاده می شود و حتی در خود MsSql هم از % استفاده می شود .

اما Access جدا از همه این ها از * استفاده می کند.

موفق باشید.
 

جدیدترین ارسال ها

بالا