powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выбрать (без критериев) из 100 записей только несколько
25 сообщений из 136, страница 1 из 6
Как выбрать (без критериев) из 100 записей только несколько
    #32549534
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сложно в название темы все объяснить Есть база данных вопросов для тестов. Пользователь может задать сколько он вопросов для теста хочет отобрать (например 10). Т.е. понятно что отбираю вопросы по нужной ему теме, по уровню, но вот как их этого количество (например 100) просто взять 10 ЛЮБЫХ да еще что бы они рандомально отбирались? помогите.
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549536
marvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у этих вопросов есть ID , то генератор случайных чисел тебе поможет.
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549597
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ID есть, но проблема в том, что когда я отобрала эти вопросы по другим критерием (тема теста,сложность), то у них теперь ID идут не безпрерывно, например выпали вопросы с ID 3, 4, 8, 10, 30, 34, 40, 58 и т.д А мне теперь надо отобрать 5 вопросов. Как? У меня была мысль, что может в Запросе можно добавлять поле типа автонумерация, но я такой опции не нашла.
А если уж говорить о генераторе случайных чисел то как избежать дублежа впросов?
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549614
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автонумерация в запросе
http://am.rusimport.ru/MsAccess/topic.aspx?ID=87
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549633
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
select top  5   table.chtoNado from table1 where table.id in(Podzapros.ID)  order by rnd(table.id)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549638
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schakh
Я честно с ACCESS совсем недавно работаю, по этому не судите строго за глупые вопросы, но все эти селекты куда я дожна помещать? в код VB?
и Podzapros.id это как понять?
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549639
marvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем программировать в Access. Есть база подключись средствами Delphi, VB. А там уже можно делать что хочешь.

Написано на VB.
В List1 записывается что то из запроса (твои вопросы)
В List2 всё нумеруется в арифметическое прогрессии.
А далее дело техники...

For j = 0 To rs.RecordCount - 1
Set db = DAO.OpenDatabase(frmMain.dbname)
sSQL = "SELECT * FROM Orders WHERE ID=" & List1.List(j) & ";"
Set rs = db.OpenRecordset(sSQL)
rs.Edit
rs.Fields(0) = List2.List(j)
rs.Update
Next j
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549642
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ежикID есть, но проблема в том, что когда я отобрала эти вопросы по другим критерием (тема теста,сложность), то у них теперь ID идут не безпрерывно, например выпали вопросы с ID 3, 4, 8, 10, 30, 34, 40, 58

Отобрали вы это запросом, если я правильно понял. Вот и используйте этот запрос как подзапрос, а выбираете оттуда, но только ID. Его результатом будет множество ID отобранных по вашим критериям. Условие order by rnd(table.id) перемешает эти ID, А Select Top 5 Вернет 5 из вашего множества ID. Запускать... это просто SQL запрос, как вашей душе угодно... хоть в VB (что в вашем случае если я правильно понимаю - вариант наиболее подходящий, хоть просто сохраните как запрос)

Если я слишком замороченно объяснил, киньте свой запрос, я на нем напишу выбор случайных 5
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549644
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvelА зачем программировать в Access. Есть база подключись средствами Delphi, VB. А там уже можно делать что хочешь.

А зачем не программировать в Access???
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549645
marvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А если уж говорить о генераторе случайных чисел то как избежать дублежа впросов?

После того как вопрос выбран, он исключается из списка предлагаемях вопросов
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549647
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кажется, в ответе schakh'а опечатка. Исправляю ее.

select top 5 table 1 .chtoNado from table1 where table 1 .id in(Podzapros.ID) order by rnd(table 1 .id)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549648
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он вернет столько сколько надо и все разные. В частном случае дубликатов не будет!!!
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549649
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч

согласен :)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549650
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так значит, я набила это селект при составлении Запроса через VIEW SQL, он мне при запуске вроде все правильно отбирает (5 РАЗНЫХ вопросов), теперь вопрос такой (прямо неудобно за тупость свою) как теперь вместо цифры 5 подставить то выражение, которое меня приводи к полю в форме, в котором пользователь набил количество нужных ему вопросов. Если я помещаю строку forms!name frorm!name field прямо в SQL он ругается, а когда сам запрос открываю, там уже этот параметр TOP не отображается. Куда это вставлять то?
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549651
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ежикЕсли я помещаю строку forms!name frorm!name field прямо в SQL он ругается

А где вы это делаете, в коде?
Можно глянуть как? А то мне что-то страшновато становится ;)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549652
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Он там отображается (в окошке свойств), но это не поможет. Надо составлять этот селект динамически:

dim s as string
s = "select top " & cstr(forms!name frorm!name field) & " table1.chtoNado from table1 where table1.id in(Podzapros.ID) order by rnd(table1.id)"

А потом занести полученное s, например, в recordsource формы, которая будет эти вопросы показывать.
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549653
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
А где вы это делаете, в коде?
Можно глянуть как? А то мне что-то страшновато становится ;)


не смейтесь над убогими, грех :)сама понимаю, что туплю, но я не работалаю раньше с SQL в ACCESS но SQL теоритически знаю (поэтому ваш селект и с опечаткой сразу поняла)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549658
Фотография schakh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я не смеюсь, это я так пошутил, надеюсь безобидно... :)
Если нет, мои извинения!
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549659
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я просто быстро учебник пролистала и нашла, что при создание Запроса можно его в виде SQL создавать в спец.окне, я так и сделала, когда сработала, хотел снаскоку еще и поле формы туда впихнуть, но не получилось :)
значит я правильно поняла тебя Владимир Саныч (кстати землякам привет!) что это только в коде можно делать? Просто мы когда получили это задание получили и указание, что все мы должны делать инструментами ACCESS практически к коду не прибегая, только если уж совсем ни как без него. Сейчас я попробую всю инфу переварить и попробывать как и что. Всем большое спасибо, поглядывайте в мой топик, я навернякак еще вернусь :)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549660
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
От земляков привет встречный. У меня такое чувство, что переменное значение TOP можно сделать только через код.
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549673
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schakh авторЕсли нет, мои извинения!
что ты какие обиды, там же смайлик был :)
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549676
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я сделала так
это пока пробный вариант без допольнительных запросов :

Private Sub Form_Load()
Dim s As String

s = "SELECT TOP " & Forms!f_make_test!number & " tb_questions.number FROM tb_questions WHERE tb_questions.subject = 1 ORDER BY rnd(tb_questions.number)"
Form.RecordSource = s
End Sub



правильно? а теперь мне совсем не понятно, а как я вообще в полях этой формы всю инфу отражаю? Раньше я эту форму строила на Запросе у которого были названия полей и я все текстовые поля формы к ним привязывала. А теперь как?
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549678
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Во-первых, Me.RecordSource = s

Во-вторых, для удобства работы с формой в конструкторе можно забить в RecordSource что-нибудь примерно похожее на правду, например тот же селект с TOP 1 или вообще без TOP. Все равно при исполнении программы оно подменится на то, что надо.
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549683
ежик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все равно не понятно, вот есть у меня в форме текстовое поле "question" куда я помещаю сам вопрос или поле "subject" и что я должна написать в их Control Source? Или тоже как-то в коде делается?

понятно что в запросе я должна написать SELECT top ...... table.question, table.subject .....
...
Рейтинг: 0 / 0
Как выбрать (без критериев) из 100 записей только несколько
    #32549686
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В свойстве ControlSource Аксесс предлагает список полей того запроса, на котором сидит форма. Вот из этого списка можно выбрать.
...
Рейтинг: 0 / 0
25 сообщений из 136, страница 1 из 6
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выбрать (без критериев) из 100 записей только несколько
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]