powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TOP 15 в ListBox динамически
18 сообщений из 18, страница 1 из 1
TOP 15 в ListBox динамически
    #32484448
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то недопонимаю:

Пишу в русурсе листбокса:

Код: plaintext
select top  15  * from myQuery


затем пишу в программе на формопен:

Код: plaintext
1.
2.
3.
dim strsql as string
strsql =  "select top 15  * from myQuery"
mylistbox.rowsource = strsql


тоже нормально работает...добавляю:


Код: plaintext
1.
2.
strsql =  "select top 15  * from myQuery"
strsql = strsql &  " order by [Дата операции]" 
mylistbox.rowsource = strsql


...возвращает все записи...
что я не понимаю ?
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484456
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты в хелпе внимательно почитай про SELECT TOPn , тааам всё написано ;)
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484461
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так ?

select top 15 * from ( select * from myQuery order by [Дата операции])
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484474
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В хелпе написано - невозможно в программе...
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484483
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК

Так работает ! Спасибо.
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484485
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на здоровье
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484487
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TOP n [PERCENT] Returns a certain number of records that fall at the top or the bottom of a range specified by an ORDER BY clause. Suppose you want the names of the top 25 students from the class of 1994:
SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage DESC;

If you do not include the ORDER BY clause, the query will return an arbitrary set of 25 records from the Students table that satisfy the WHERE clause.

The TOP predicate does not choose between equal values. In the preceding example, if the twenty-fifth and twenty-sixth highest grade point averages are the same, the query will return 26 records
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484493
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 КилМИ
The TOP predicate does not choose between equal values. In the preceding example, if the twenty-fifth and twenty-sixth highest grade point averages are the same, the query will return 26 records

а причем здесь это ?

здесь Select *
а записи все разные
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484503
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelme

Уточняю еще раз - В ПРОГРАММЕ мне нужно...
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484506
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там также написано, что если добавить OrderBy то тогда нет никакой гарантии, что возвратится именно то кол-во записей, скока указано, может оказаться и гораздо больше :)
поэтому для SELECT TOP N надо указывать DISTINCT, чтобы уникальные значения отбирались
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484517
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это наверное глюк, только я не помню в какой версии было

даже уникальный ключ в таблице есть все равно список не обрезается top
если задано order by
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484524
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорей всего Access сначала сортирует, а потом уже из отсортированного списка отбирает ;)
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484533
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторскорей всего Access сначала сортирует, а потом уже из отсортированного списка отбирает

Он бы все-равно тогда правильно отбирал 15 записей, а так, гад - все возвращает...

Access 2002
Win XP
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484535
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, Distinct и Percent - пробовал....
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484577
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да!!!

Век живи - век учись :) (это я про себя)

В MSSQL с топом проблем нет
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484584
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается, что TOP корректно работает если выбирается только одно поле из таблицы и указан предикат DISTINCT
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484694
мля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да поищите вы по форуму, мля. Че воду толочь.

и не кера не все вертается. А только ВСЕ записи с первыми N значениями подвыборки указанной в ORDER BY. Если всех "Дат операций" - 15, вернутся все записи. (это все равно, как селект * где датаОпер в(селект топ 15 датаОпер фром табла ГРУПП БАЙ датаОпер) фром табла)

2 АлексейК - стыдно-с. :)
...
Рейтинг: 0 / 0
TOP 15 в ListBox динамически
    #32484773
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК - стыдно-с. :)

разве что слегка,
очень давно было и не помню в какой версси аксесса,

глюк не глюк - забылось

но запомнилось что решить задачку
чтоб выбирать ровно столько сколько нужно - надо так:

select top N * from ( select * from mytable order by SortField )

вот и все собственно ...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TOP 15 в ListBox динамически
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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