|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2008, 07:09 | #1 |
Регистрация: 28.10.2008
Сообщений: 9
|
Как скопировать или быстро просмотреть таблицу с LookUp?
Здравствуйте.
Пишу на C++ builder программу для работы с базой посещений больницы на MS Access. База представляет собой набор таблиц, местами связанных, местами нет. Смысл моей работы заключается в том, что я беру данные из нескольких таблиц(около пяти), например день рождения, гражданство, город проживания и прочее, исходя из которых мне нужно подсчитать статистику посещения людей(т.е. сколько людей приходило в такой-то месяц, сколько из них до 15 лет, сколько из них русские и.т.п.) Я делал цикл по таблице (while (!(Table2==Eof))), в которой есть все необходимые для подсчета поля. Часть из этих полей подставлялось из других таблиц с помощью LookUP. Проблема заключается в том, что прогон одной записи в таблице занимает около половины секунды, т.е. чтобы просмотреть к примеру 1599 записей, требуется 5 минут (это очень долго). Эта задержка происходит из-за подставления данных из других, связанных по mastersource таблиц. Поэтому у меня появилась идея создать новую таблицу и запихнуть в нее все данные, чтобы она уже ни на что не ссылалась. В частности я хотел сделать это используя компонент BatchMove. Но, как оказалось, этот компонент копирует данные из таблицы кроме тех, что подставлены с помощью LookUP. Что теперь делать, ума не приложу. Нужно либо быстро просмотреть таблицу в которой есть lookUp поля из MasterSource-связанных таблиц либо найти способ скопировать все данные, включая подставленные, в новую, независимую таблицу. |
28.10.2008, 07:51 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Может лучше это всё сделать посредством SQL?
Выполняете запрос типа: select count(*) from peoples where nationality = 'русский' И получаете количество русских людей, записанных в табличке peoples. И никаких while и т.п. мудрить не нужно |
28.10.2008, 09:06 | #3 |
Регистрация: 28.10.2008
Сообщений: 9
|
А потом в полученной отфильтрованной таблице считать RecordCount?...Это мысль, спасибо.
А в SQL запросе будут работать условия с подставленными полями? Хотя, собственно, и не нужно по идее.. Последний раз редактировалось Rain9; 28.10.2008 в 09:25. |
28.10.2008, 12:33 | #4 |
Регистрация: 28.10.2008
Сообщений: 9
|
Ммм короче довольно сложно создать запрос, потому что есть, к примеру текстовые поля из которых нужно выдерать первый символ...подробности по ссылке
http://programmersforum.ru/showthrea...326#post151326 кто, может, пож-ста помогите 8-) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно найти папку быстро но как? | zotox | Помощь студентам | 3 | 21.09.2008 13:35 |
Как просмотреть содержимое dll | Shavminator | Общие вопросы Delphi | 7 | 12.07.2008 14:11 |
Как быстро переверннуть(отразить) изображение? | Paul Hindenburg | Мультимедиа в Delphi | 2 | 10.01.2008 12:51 |
Как отсортировать НД по Lookup-полю? | Schumacher | БД в Delphi | 4 | 21.06.2007 14:07 |
Как уменьшить картинку быстро но без изменения палитры | Joker_kpi | Общие вопросы Delphi | 2 | 04.06.2007 23:49 |