Как скопировать или быстро просмотреть таблицу с Lookup?

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Rain9, 28 окт 2008.

Статус темы:
Закрыта.
  1. Rain9

    Rain9 Гость

    Здравствуйте.

    Пишу на C++ builder программу для работы с базой посещений больницы на MS Access. База представляет собой набор таблиц, местами связанных, местами нет.
    Смысл моей работы заключается в том, что я беру данные из нескольких таблиц(около пяти), например день рождения, гражданство, город проживания и прочее, исходя из которых мне нужно подсчитать статистику посещения людей(т.е. сколько людей приходило в такой-то месяц, сколько из них до 15 лет, сколько из них русские и.т.п.)

    Я делал цикл по таблице (while (!(Table2==Eof))), в которой есть все необходимые для подсчета поля. Часть из этих полей подставлялось из других таблиц с помощью LookUP. Проблема заключается в том, что прогон одной записи в таблице занимает около половины секунды, т.е. чтобы просмотреть к примеру 1599 записей, требуется 5 минут (это очень долго). Эта задержка происходит из-за подставления данных из других, связанных по mastersource таблиц.
    Поэтому у меня появилась идея создать новую таблицу и запихнуть в нее все данные, чтобы она уже ни на что не ссылалась. В частности я хотел сделать это используя компонент BatchMove. Но, как оказалось, этот компонент копирует данные из таблицы кроме тех, что подставлены с помощью LookUP.
    Что теперь делать, ума не приложу. Нужно либо быстро просмотреть таблицу в которой есть lookUp поля из MasterSource-связанных таблиц либо найти способ скопировать все данные, включая подставленные, в новую, независимую таблицу.
     
  2. etc

    etc Гость

    Rain9 Почему бы не возложить работу на движек базы, вместо того чтобы использовать кривые/тормозные Table2 ?
     
  3. Rain9

    Rain9 Гость

    типа писать под VB? не, это не пойдет. Наверное буду делать через sql запросы
     
  4. etc

    etc Гость

    Движек СУБД и VB (а тут так вообще VBА) это 2 разные разницы.

    Что такое Table2 ?
     
  5. Rain9

    Rain9 Гость

    ну ээ...задание изменилось...

    Помогите создать SQL запрос

    Есть поля, характеризующие людей:

    "День Рождения" типа TDateTime
    "Код заболевания" строчного типа (к примеру Z065)

    Нужно, к примеру, создать выборку из записей (людей), возраст которых лежит от 15 до 17 лет и у которых в поле "код заболевания" первая буква любая кроме Z.

    И вообще возможно ли прописать все это в SQL или стоит сначала отфильтровать Query через свойство Filter?

    Варианты типа "изменить базу" не катят.

    Заранее благодарен.

    зы пишу на c++builder используя компонент Query. А база Accessовская. Ну, нужно прописать запрос в свойство SQL.
     
  6. etc

    etc Гость

    А варианты типа - подучить для начала основы, тоже не катят? Катит только - "код давай"?
    Такого в природе не существует.


    Пишите, ктож мешает? Если будут затруднения - поправим.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей