الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني عمل بحث عشوائي

مغلق
بدأه Rama2000 في 12 يوليو 2007 · 4 رد · 1,333 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أريد الإستفسار عن كيفيت عمل بحث عشوائي لقاعدة بيانات تحتوي على أكثر من 2 مليون عميل

يعني عند ضغطي على زر الأمر بحث يظهرلي 50 أو 100 سجل عميل فقط حتى لوكان شروط البحث التي وضعتها تظهر أكثر من تلك السجلات

يعني أوريد أن يظهر لي 50 أو 100 عميل فقط ويتم اختيار تلك السجلات ال 50 بشكل عشوائي من النتيجه التي طلبتها التي قد تصل إلى 500 سجل

وبس

وانا بانتظار ردودكم ،، اذا قدركم الله على ذلك

#2

يمكن ذلك باستخدام جملة SQL

SQL = Select Top (50) FROM TABLENAME WHERE FIELDNAME = CONDITION

ربما هذه الطريقة تحل مشكلتك

او انك بعد البحث تعمل لووب على النتيجة وتظهرها في فليكس جريد مثلا

dim Rn as long

dim i as integer

for i = 1 to 100
	rn = (rnd * rs.recordcount -1)
   Rs.Move(rn),0
next i

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#3

اعتقد ان الحل هو كما ذكر الاخ Omani لكن المشكلة الموجودة في حل السجلات العشوائية هو امكانية تكرار الرقم اكثر من مرة وهو ما لاتريده ولذلك لايجاد ارقام عشوائية دون تكرار انظر المشاركة

كيف يقوم البرنامج باختيار حقول عشوائية

فلا اعرف هل هذا ماتريده ام لا

#4

أخي العزيز omani ، أخي العزيز TareqVB

شكراً على تجابكم النبيل معي في حل مشكلتي

أما بالنسبة للحلول المطروحا ... فأما قد فكرة بما طرح من قبلك مسبقاً

ولكن المشكلة بأن قاعدة البيانات التي لدي كبيرة جداً أكثر من 2 مليون سجل عميل

يعني اذا بدي أطلع نتيجة البحث لشروط أي بحث كانت بالبرنامج سوف لا تقل عدد السجلات الناتجه

أكثر من 500 أو 1000 سجل ،، وياسلام ولو مديري ما حط ولا شرط شوو بدوا يا خذ وقت البرنامج

ليظهر عدد السجلات فقط ،، لأقوم بالإختيار العشواءي للسجلات الناتجه

أرجوا ان تكون فهمتوا قصدي .... وشكراً لكم مره أخرى على متابعت مشكلتي

#5

لحد الان لم افهم ما تريد لكن كلمة TOP هي التي ستوقف الاستمرار في البحث عند الوصول الى القيمة المستخدمة خلالها اي لو استخدمت

select top 500 * from my table where ...

سيتم ارجاع اول 500 سجل بغض النظر عن البقية التي تحقق الشرط .

كذلك لا تنسى انك تتكلم عن قاعدة بيانات كبيرة نسبيا لذلك فهي بحاجة الى وقت لتقوم بالبحث وليس فقط الارجاع وخاصة اذا كانت قاعدة اكسس

هذا الموضوع مغلق.

مواضيع مشابهة