R
Rain9
Здравствуйте.
Пишу на C++ builder программу для работы с базой посещений больницы на MS Access. База представляет собой набор таблиц, местами связанных, местами нет.
Смысл моей работы заключается в том, что я беру данные из нескольких таблиц(около пяти), например день рождения, гражданство, город проживания и прочее, исходя из которых мне нужно подсчитать статистику посещения людей(т.е. сколько людей приходило в такой-то месяц, сколько из них до 15 лет, сколько из них русские и.т.п.)
Я делал цикл по таблице (while (!(Table2==Eof))), в которой есть все необходимые для подсчета поля. Часть из этих полей подставлялось из других таблиц с помощью LookUP. Проблема заключается в том, что прогон одной записи в таблице занимает около половины секунды, т.е. чтобы просмотреть к примеру 1599 записей, требуется 5 минут (это очень долго). Эта задержка происходит из-за подставления данных из других, связанных по mastersource таблиц.
Поэтому у меня появилась идея создать новую таблицу и запихнуть в нее все данные, чтобы она уже ни на что не ссылалась. В частности я хотел сделать это используя компонент BatchMove. Но, как оказалось, этот компонент копирует данные из таблицы кроме тех, что подставлены с помощью LookUP.
Что теперь делать, ума не приложу. Нужно либо быстро просмотреть таблицу в которой есть lookUp поля из MasterSource-связанных таблиц либо найти способ скопировать все данные, включая подставленные, в новую, независимую таблицу.
Пишу на C++ builder программу для работы с базой посещений больницы на MS Access. База представляет собой набор таблиц, местами связанных, местами нет.
Смысл моей работы заключается в том, что я беру данные из нескольких таблиц(около пяти), например день рождения, гражданство, город проживания и прочее, исходя из которых мне нужно подсчитать статистику посещения людей(т.е. сколько людей приходило в такой-то месяц, сколько из них до 15 лет, сколько из них русские и.т.п.)
Я делал цикл по таблице (while (!(Table2==Eof))), в которой есть все необходимые для подсчета поля. Часть из этих полей подставлялось из других таблиц с помощью LookUP. Проблема заключается в том, что прогон одной записи в таблице занимает около половины секунды, т.е. чтобы просмотреть к примеру 1599 записей, требуется 5 минут (это очень долго). Эта задержка происходит из-за подставления данных из других, связанных по mastersource таблиц.
Поэтому у меня появилась идея создать новую таблицу и запихнуть в нее все данные, чтобы она уже ни на что не ссылалась. В частности я хотел сделать это используя компонент BatchMove. Но, как оказалось, этот компонент копирует данные из таблицы кроме тех, что подставлены с помощью LookUP.
Что теперь делать, ума не приложу. Нужно либо быстро просмотреть таблицу в которой есть lookUp поля из MasterSource-связанных таблиц либо найти способ скопировать все данные, включая подставленные, в новую, независимую таблицу.