Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
kulidas
-
- Новичок

-
-
- Сообщения: 25
- Зарегистрирован: 14.09.2006 (Чт) 15:07
- Откуда: Санкт-Петербург
kulidas » 21.09.2007 (Пт) 10:32
добрый день!
может кто подскажет:
как можно подключившись к базе (access ADO) получить случайную запись?
т.е. sql запрос с определенными условиями директивы where
и получить случайную запись из набора, удовлетворяющего условиям?
спасибо.
-
keks-n
-
- Доктор VB наук

-

-
- Сообщения: 2509
- Зарегистрирован: 19.09.2005 (Пн) 17:17
- Откуда: г. Москва
-
keks-n » 21.09.2007 (Пт) 11:17
Получить весь набор, выбрать случайную
-
kulidas
-
- Новичок

-
-
- Сообщения: 25
- Зарегистрирован: 14.09.2006 (Чт) 15:07
- Откуда: Санкт-Петербург
kulidas » 21.09.2007 (Пт) 11:55
1.подключаемся к базе
2. заполняем рекордсет идентификаторами записей
3. формируем массив из полученных идентификаторов
4. выбираем случайный элемент массива - идентификатор записи
5. отключаемся
6. снова подключаемся
7. заполняем рекордсет записью с полученным случайным идентификатором
правильно ли я все понимаю и является ли такой путь оптимальным?
надо чтобы пользователь быстро на форме получал случайные записи базы, пользователей несколько, база большая несколько десятков тысяч записей?
спасибо!
-
iGrok
-
- Артефакт VBStreets

-
-
- Сообщения: 4272
- Зарегистрирован: 10.05.2007 (Чт) 16:11
- Откуда: Сетевое сознание
iGrok » 21.09.2007 (Пт) 12:27
Кхм.. Да вы, батенька, извращенец..
А почему не заполнить рекордсет сразу записями и не выбрать случайную запись по сгенерированному случайному номеру?
label:
cli
jmp label
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 21.09.2007 (Пт) 12:38
Чтобы не таскать с сервера большой трафик.
Lasciate ogni speranza, voi ch'entrate.
-
kulidas
-
- Новичок

-
-
- Сообщения: 25
- Зарегистрирован: 14.09.2006 (Чт) 15:07
- Откуда: Санкт-Петербург
kulidas » 21.09.2007 (Пт) 12:38
точно...
как получит случайное число?
-
dr.MIG
-
- Гуру

-

-
- Сообщения: 1441
- Зарегистрирован: 18.12.2004 (Сб) 9:53
- Откуда: г.Ярославль
-
dr.MIG » 21.09.2007 (Пт) 13:52
kulidas писал(а):точно...
как получит случайное число?
В начале процедуры поставить Randomize, а далее использовать функцию Rnd.
Salus populi suprema lex
-
kulidas
-
- Новичок

-
-
- Сообщения: 25
- Зарегистрирован: 14.09.2006 (Чт) 15:07
- Откуда: Санкт-Петербург
kulidas » 21.09.2007 (Пт) 14:45
..да. спасибо..
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, PetalBot, SemrushBot и гости: 9