07-01-19, 11:36 PM
مرحباً اخى الفاضل
الطريقة الصحيحة ان تستخدم الكود بهذا الشكل
كود :
SELECT Top 3 id,name,code,group from emp ORDER BY Rnd(-(100000*id)*Time())
الفكرة من الكود الذى طرحته عند اختيار *6 و ينهيها +1 هذا يعنى ان الخيارات ستكون ما بين 1:6 مضروب فى عدد السجل المدرج
والاغلب سيكون الاول وسيكون 1 فتخيل انك تقول مثلاً 1* 6 = 6 +1 = 7
او ان الرقم الذى يخرج من id هو خر عدد وليكن مثلاً 15
سيكون الطريقة 15 * 6 = 90 + 1 = 91
اذا تطبق الطريقة الثانية لجلب اخر رقم فهنا يسكون القيمة ثابتة 91 حتى
يتم اضافة سجل جديد لتشعر بالتغيير فى العرض
واذا كان الجلب هو لاول سجل 1 سيبقي القيمة دائماً 7
ولن يتغير ابداً وسيبقي نتائج العرض ثابته بدون تغيير
لذلك بدلاً من + 1 يستخدم بدلاً من 1 جملة time ووظيفتها جلب قيمة مختلفة مع كل مرة تحديث
فهنا سيكون القيمة دئماً غير ثابتة وغير معروفة وثابتة لان كل جزء من ثنية رقم مختلف عن قبله
تذكر الاكواد خاصة الاستعلام مخلفة عن الاكواد التى تستخدمها فى الفيجوال
فكل بيئة اكودها ومفهيمها الخاصة ذلك نفس الكود لا يستخدم داخل البيئة الفيجوال لان Time غير معرف بهذه البيئة
تحاتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية