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

  • Автор темы Rain9
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rain9

Гость
#1
Здравствуйте.

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

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

etc

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

etc

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

Что такое Table2 ?
 
R

Rain9

Гость
#5
ну ээ...задание изменилось...

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

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

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

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

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

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

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

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

etc

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


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