ger_kar писал(а):Дык саму то колонку можно добавить без проблем, а если точнее я ее уже добавил. Вопрос теперь в том, как ее заполнить так, чтобы в ней отражались текущие порядковые номера записей. Т.е. первой записи соответствовал номер 1 и так далее. И чтобы после применения фильтрации нумерация обновлялась в соответствии с обновленным набором.
Если ты добавил колонку в таблицу, то в каждой СУБД есть ключевое поле, которое само ведёт нумерацию кортежей, чаще всего которое используют как Id
ger_kar писал(а):В смысле запрос с вложенным подзапросом чтоли? Или два отдельных?
Ты ж не написал какая СУБД, поэтому многие СУБД не поддерживают вложенные запросы => 2 отдельных запроса
ger_kar писал(а):К сожалению база уже есть и заполнена данными, я делаю оболочку и приходится работать, с тем что дал заказчик.
И что что она есть. При достаточном желании можно немного по другому сконфигурировать с сохранением данных, чтобы избежать лишних запросов
ger_kar писал(а):Так запрос и так сложный. Этот сложный запрос выдает набор записей. Далее к нему могут применяться фильтры. В таком исполнении все работает быстро. Если отказаться от фильтров, то тоже самое конечно можно сделать и через запрос, просто включив в него соответствующие условия отбора, но в этом случае вместо простой и быстрой фильтрации уже имеющихся данных будет снова выполняться этот еще более усложнившийся запрос, что как мне кажется будет очень не оптимально. Кроме того это будут даже не один, а два сложных запроса один для отбора самих записей и потом второй, подводящий итоги.
Я не знаю как работает твой контрол, но судя по тому что запрос и фильтры отдельно, то работа с фильтрами самая не производительная. СУБД сортирует по параметрам быстрее любого контрола.
Сложный запрос в том плане, чтобы за один запрос выбрать все требуемые данные, а не только промежуточные
ger_kar писал(а):Т.е. результат сложного запроса скидывать во временную таблицу, а вместо фильтрации применять новый запрос, но уже к этой таблице?
Да
ger_kar писал(а):А зачем тогда придумали фильтрацию. И разве результат запроса в виде записей рекордсета не представляет из себя временную таблицу?
Но тогда почему к нему нельзя обратится как к таблице?
Я не знаю про какие фильтры ты говоришь, наверняка фильтры для производительности применяются как часть запроса.
На твоём пути СУБД -> Драйвер ADODB -> Контрол, где АдоДб и контрол имеет свой буфер значений. Что контрол, что драйвер АдоДб спроектированы только так, как посредник в передачи данных между СУБД => они работают с самой СУБД для эффективности, а не со своим буфером.
Конечно если получить доступ у буферу значений или найти функции которые к нему обращаются, то всё возможно. Но как правило такие вещи работают только с БД
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる