سلام دوستان
من می خوام از یک جدول مثلا بگم از رکورد 10 تا 20 را نمایش دهد ممنون میشم برای نوشتن این query کمکم بفرمایید
سلام دوستان
من می خوام از یک جدول مثلا بگم از رکورد 10 تا 20 را نمایش دهد ممنون میشم برای نوشتن این query کمکم بفرمایید
با سلام
در ابتدا بايد مشخص شود كه مبناي اين انتخاب بر چه اساسي مي باشد
اگر صرفا رديف 10 الي 20 جدول باشد كه اين منطق صحيح نمي باشد
بهتر آن است كه نمونه خود را قرار دهيد و بيشتر توضيح دهيد
كه معيار در انتخاب 10 ركورد مورد نظر جنابعالي چيست ؟
با تشكر نادري .
ممنون از توجهتون. من می خوام توی برنامم به این صورت باشه که کاربر انتخاب میکنه که 10 سوال اول ذخیره شده رو ببینه حالا می خواد مثلا از سوال 10 الی 20 رو ببینه و مثلا بار سوم 10 سوال بعدی رو ببینه. برای 10 سوال اول میتونم از دستور top استفاده کنم ولی برای بقیش نمیدونم برای اینکار در اسکیول از limit استفاده میکردم ولی در access این دستور وجود نداره.
با تشکر فراوان
در اکسس limit و بطور کلی data pagination نداریم
SELECT ORDERID FROM ORDERS WHERE ORDERID IN
(SELECT TOP 10 ORDERID FROM
(SELECT TOP 20 ORDERID FROM ORDERS ORDER BY ORDERID)
ORDER BY ORDERID DESC)
ORDER BY ORDERID
ممنون بابت پاسختون.
من از دو تا تکست باکس دریافت میکنم که کاربر چه رکورد هایی رو می خواد ببینه مثلا رکورد 1 تا 10 یا رکورد 10 تا 20 و .... حالا من تکست 1 رو قرار دادم به جای عدد 10 و تکست 2 رو به جای عدد 20 قرار دادم ولی وقتی مقدار ورودی تکست 1 عدد 1 و ورودی تکست 2 رو 10 قرار میدم فقط یک رکورد به من نمایش میده.
سلام
یک راه خیلی ساده استفاده از گزاره اسی کیو ال مانند زیر است :
SELECT [ID], field1.field2FROM Sheet1
WHERE ((([ID]) Between [عدد اول] And [عدد دوم]));
اگر متوجه شدید که هیچ در غیر اینصورت نمونه خود را ارسال کنید .
با تشکر نادری
the_best_chanals@
Class1.str1 = "select Num_Question,QTs_Name,Correct_Ans from Lesson,Quastion where Lesson.L_Code=Quastion.L_Code and Type_Q='" + type_q + "' and Base_N='" + base_n + "' and Branch='" + branch + "' and Lesson.L_Code=" + l_code + " and Chapter_C=" + chapter + " and [Section_C]=" + section;
این دستور select رو استفاده کردم.
و دستور رو با توجه به فرمایش دوستمون به این صورت تغییر دادم ولی فقط یک سطر رو نمایش داد (وقتی تکست اول 1 باشه)
Class1.str1 = "select Num_Question,QTs_Name,Correct_Ans from Quastion where Num_Question IN (select top " + Convert.ToInt32(textBox1.Text.Trim()) + " Num_Question from (select top " + Convert.ToInt32(textBox2.Text.Trim()) + " Num_Question from Lesson,Quastion where Lesson.L_Code=Quastion.L_Code and Type_Q='" + type_q + "' and Base_N='" + base_n + "' and Branch='" + branch + "' and Lesson.L_Code=" + l_code + " and Chapter_C=" + chapter + " and [Section_C]=" + section + " order by Num_Question) order by Num_Question desc) order by Num_Question";
دستوری که شما فرمودید رو هنوز اجرا نکردم ولی فکر کنم که فیلد ای دی رو چک کنه و اگر مقدار این فیلد برابر مثلا 1 تا 10 بود در اینصورت رکورد رو نمایش میده در صورتی که من می خوام بین مثلا 300000 رکورد کاربر بگه چند تا رو می خواد ببینه
ممنون
سلام
این کار رو هم می تونه بکنه
سلام ممنون از توجهتون.
از دستور between هم استفاده کردم ولی متاسفانه جواب نگرفتم
نمونه فایلتون رو بزارید
ممنون .خداروشکر جواب گرفتم.
البته شاید زیاد راه جالبی نباشه ولی با دستور not in . به این صورت که داخل select اول نوشتم به تعداد تکست دوم رکورد استخراج کنه و در دستور دوم نوشتم به تعداد تکست اول رکورد استخراج کنه و با دستور not in چک بشه که رکوردهای select اول داخل select دوم نباشند