View Full Version : برا نوشتن این select کمکم کنید
coral
شنبه 28 آذر 1383, 11:07 صبح
دوستان من یک سری داده در جدول دارم که هر گروه از اونها یک کد10 رقمی دارد.من می خواهم با استفاده از دستور اس کیو ال اونهایی را که 6 رقم اول کدشان یکسان است بیرون بکشم .اما نمی دانم چگونه.
مثال کدهای من اینها هستند:
1000060001
1000067239
1000057878
که من در برنامه اون دوتای اول را باید از جدول بکشم بیرون.در ضمن چون تعد اد این کد ها زیاد است دانه دانه نمی شه در select اون ها را نوشت.
bahar60
شنبه 28 آذر 1383, 11:36 صبح
ببینم شما می خواهید که هر چند تایی که مثلا 6 رقم اولشان یکی است را ،حالا هر چندتا گروه که ممکنه بشه به صورت جدا دسته بندی کنه یا اینکه می خواهید 6 رقم اول کد ها را مقایسه کنید با یه عدد خاص مقایسه کنی و هر چند تا که مشابه بود نشان بدی؟ :گیج:
coral
شنبه 28 آذر 1383, 11:53 صبح
بله می خواهم 6 رقم کد ها را بگیرم و با یک عدد خاص مقایسه کنم و اگه مساوی بود اونو در یک گرید بریزم.
bahar60
شنبه 28 آذر 1383, 13:18 عصر
به این یه نگاه بندازید امیدوارم بدردتون بخوره :sunglass:
http://www.barnamenevis.org/forum/viewtopic.php?t=17170
coral
شنبه 28 آذر 1383, 13:20 عصر
نه متاسفانه
Morteza Manafpour
یک شنبه 29 آذر 1383, 01:34 صبح
با سلام
میتونید با گرفتن یک textbox به صورت زیر عمل کنید
"select * from tblname where Number like' " + textbox1.text +"%'"البته شکل کلی به صورت زیر است:
select * from tblname where Number like '111111%'که علامت % کاری نظیر *.* را انجام میدهد.
Behrouz_Rad
یک شنبه 29 آذر 1383, 07:21 صبح
سلام.
جواب آقا مرتضا از همه کاملتره و صحیح تره.
Select * From MyTable Where MyField ike "111111%"
موفق باشید.
بهروز راد
:wise1:
coral
یک شنبه 29 آذر 1383, 09:10 صبح
خیلی از لطف شما ممنون هستم.
Payam Moradi
یک شنبه 29 آذر 1383, 09:36 صبح
سلام
تمام درایورهای بانک اطلاعاتی اکسس از دستور Like پشتیبانی نمی کنند. اگر اینطور بود میتونید از دستور ذیل استفاده کنید:
"SELECT * FROM [MyTable] WHERE Mid([MyField], 1, 6) = '" & Text1.Text & "';"
و اگه فیلد شما رشته نبود و عدد بود با این کد:
"SELECT * FROM [MyTable] WHERE Mid(Str([MyField]), 1, 6) = '" & Text1.Text & "';"
موفق باشید :flower:
Behrouz_Rad
یک شنبه 29 آذر 1383, 10:29 صبح
سلام.
Support از SQL بستگی به نسخه JET OLEDB داره که اونم بستگی به نسخه MDAC یعنی (Microsoft Data Access Components) داره.
از اونجایی که با نصب Access 97، نسخه 2.5 MDAC نصب میشه و به طور کامل از JET OLEDB نسخه 3.5 حمایت می کنه، حرف شما نادرسته.
تازه حرف من در مورد ویندوز 98 بود چون که XP که Office 2000 یا Office XP ب روی اون نصب میشه که دیگه JET OLEDB 4.0 رو ساپورت می کنه.
موفق باشید.
بهروز راد
:wise1:
coral
یک شنبه 29 آذر 1383, 10:48 صبح
متاسفانه هیچ یک از دستورات فوق کار نکرد
Behrouz_Rad
یک شنبه 29 آذر 1383, 14:18 عصر
سلام.
فکر کنم که دستگاه شما کلا مشکل داره.
آخه هر چی کد دوستان می گن شما میگید مشکل داره.
:oops:
vbprogramer
یک شنبه 29 آذر 1383, 16:26 عصر
از اونجایی که با نصب Access 97، نسخه 2.5 MDAC نصب میشه و ....
والا تا اونجا که من میدونم با اکسس 97 ورژن 2 نصب میشه نه 2.5
Behrouz_Rad
دوشنبه 30 آذر 1383, 06:41 صبح
والا تا اونجا که من میدونم با اکسس 97 ورژن 2 نصب میشه نه
اشتباه می دونی عزیزم.
:wise1:
vbprogramer
دوشنبه 30 آذر 1383, 07:22 صبح
اشتباه می دونی عزیزم
شما که اصلاْ اشتباه تو کارت نیست
ولی نه خیر اشتباه نمی دونم چند بار نصب کردم دیده ام
Behrouz_Rad
دوشنبه 30 آذر 1383, 08:29 صبح
حرف شما درسته عزیزم. خوبه.
حوصله بحث کردن ندارم.
آن چیز که عیان است چه حاجت به بیان است.
فوقشم MDAC 2.0 رو نصب کنه (هر چند که محاله) ولی باز هم هیچ تفاوتی نمی کنه.
بازم دستور Like پشتیانی میشه.
اون چیزی که تفاوت می کنه، Wild Character ها هستند که توی نسخه های قدیمی با نسخه های جدید یه کوچولو تفوت می کنن مثلا قبلا از * استفاده می شده ولی توی نسخه های جدید از % استفاده میشه و ...
موفق باشید.
بهروز راد
:wise1:
coral
دوشنبه 30 آذر 1383, 11:37 صبح
سلام
تمام درایورهای بانک اطلاعاتی اکسس از دستور Like پشتیبانی نمی کنند. اگر اینطور بود میتونید از دستور ذیل استفاده کنید:
"SELECT * FROM [MyTable] WHERE Mid([MyField], 1, 6) = '" & Text1.Text & "';"
و اگه فیلد شما رشته نبود و عدد بود با این کد:
"SELECT * FROM [MyTable] WHERE Mid(Str([MyField]), 1, 6) = '" & Text1.Text & "';"
موفق باشید :flower:
اول تشکر از راهنمایی شما
اما من یک سوال برام پیش اومد که مگه زبان اس کیو ال دستورات وی بی را نظیر mid پشتیبانی می کند ؟ یعنی وسط عبارت اس کیو ال مگه میشه دستور وی بی نوشت؟
coral
دوشنبه 30 آذر 1383, 11:43 صبح
سلام.
جواب آقا مرتضا از همه کاملتره و صحیح تره.
Select * From MyTable Where MyField ike "111111%"
موفق باشید.
بهروز راد
:wise1:
با تشکر از آقا مرتضی و آقای راد بله درست شد و کار کرد
vbprogramer
دوشنبه 30 آذر 1383, 11:57 صبح
اتفاقاْ منم حوصله بحث کردن با شما رو ندارم
دوستان هر کس خواست خودش بره نگاه کنه
آن چیز که عیان است چه حاجت به بیان است.
:wink:
Behrouz_Rad
دوشنبه 30 آذر 1383, 12:19 عصر
:موفق:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.