ב Sql Server הדבר דיי פשוט, לדוגמא:
Select * from [tbl] order by NEWID()
המשפט האחרון לא עובד באקסס.
באקסס יש לבצע זאת בצורה אחרת:
Select * from [tbl] order by rnd(RecId)
כאשר RecId הוא המפתח הראשי של הטבלה (מספר אוטומטי).
העניין הוא שמשפט ה Select הזה עובד מצוין בתוכנת האקסס אבל לא כשאילתה חיצונית (במקרה שלי, פיתוח ב Asp.Net).
חקרתי ובדקתי (שעות!!) ומצאתי את הפתרון הבא:
Randomize()
Dim int_RandomFactor As Double = Int(1000 * Rnd()) + 1
select * from [tbl] order by Rnd(" & -1 * (int_RandomFactor) & "*ItemId)
עובד מצוין! :-)
בקרו אצלי באתר: פיתוח תוכנה
אין תגובות:
הוסף רשומת תגובה