Авторизация



Порядок связей

Оценить
(0 голоса)

После того, как пользователь добавляет в отчет таблицы и затем открывает вкладку Links, Crystal Reports делает предположение по поводу порядка, в котором должны быть связаны таблицы (такое предположение делается только в том случае, если Crystal Reports автоматически устанавливает связи между таблицами, что встречается достаточно часто).

Какие таблицы и поля необходимо связывать?

Совсем скоро станет ясно, что для безошибочной установки связей между таблицами и полями необходимо хорошо разбираться в базе данных, на основе которой создается отчет. Требуется знать структуру таблиц и данные, которые содержат общие поля, для их успешного связывания. Эта задача может осложняться разработчиками баз данных, которые в целях гарантии собственного трудоустройства создают для таблиц и полей непонятные и сокращенные имена.

Пожалуй, самый быстрый способ — это воспользоваться заслуживающими доверия документальными источниками по базам данных или проконсультироваться с кем-нибудь, кто либо разрабатывал базу данных, либо знаком с ее структурой и содержимым. Исключением могут быть случаи, когда пользователь в состоянии отличить подходящие для связывания таблицы и поля благодаря тому, что для них были выбраны интуитивно понятные имена. Если ничего другого не остается, можно просмотреть отдельные поля на вкладке Links диалогового окна Database Expert, щелкая правой кнопкой мыши на имени поля и выбирая в контекстном меню пункт Browse Field (Просмотреть поле). Просматривая подобные типы и образцы данных, совпадающие в обеих таблицах, можно отобрать неплохих кандидатов на связывание.

Всегда после установки связи между таблицами тестируйте свой отчет и проверяйте, чтобы возвращались корректные данные. Очень легко установить некорректную связь, которая не будет отображать сообщений об ошибке, но и не будет возвращать в отчет правильно сопоставленные данные.

Порядок связей

При соединении всего лишь двух таблиц ничего подобного не происходит, поскольку между двумя таблицами может быть установлена только одна связь.

Однако при соединении трех и более таблиц (в рассматриваемом примере это таблицы А, В и С) Crystal Reports будет устанавливать связь между таблицами в определенном порядке: сначала, скорее всего, таблица А будет связана с таблицей В по одному полю, а затем таблица А с таблицей С — по другому полю. Если используемая в отчете база данных основана на SQL, можно будет просмотреть SQL-запрос, который Crystal Reports отправляет в базу данных, и увидеть порядок, в котором будут устанавливаться связи.

В большинстве случаев порядок особой роли играть не будет, поэтому изменять его не придется. Однако, в определенных ситуациях при определенных типах табличных структур и систем баз данных или драйверов для доступа можно заметить разницу в получаемых в результате данных, если вместо порядка “А с В, а затем А с С” выбрать порядок “А с С, а затем А с В”. Если такая разница имеет значение, измените порядок, щелкнув на кнопке Order Links (Упорядочить связи). После щелчка на этой кнопке появляется диалоговое окно Order Links (Упорядочить связи), показанное на рис. 15.12.

Выберите связь, которую необходимо передвинуть вверх или вниз по списку, и щелкните на кнопке с изображением стрелки вверх или вниз, которая расположена в верхней части диалогового окна. Установите флажок Link Ordering Is Enforced (Упорядочение связей является обязательным) для гарантии, что Crystal Reports перегруппирует операторы для связей в SQL-запросе, отправляемом базе данных.

Использование множества типов баз данных в одном отчете

Crystal Reports позволяет использовать более одного типа базы данных в каждом отдельном отчете. Например, может возникнуть необходимость в использовании в отчете главной таблицы транзакций из базы данных типа клиент-сервер с помощью прямого драйвера, одной таблицы поиска меньших размеров из базы данных Microsoft Access, расположенной на диске общего доступа в локальной сети, и другой таблицы поиска Microsoft Excel, которая находится на диске С, через ODBC или соединение Access/Excel (DAO).

Порядок связей

Чтобы сделать это, вначале, во время создания отчета, выберите все эти различные таблицы из соответствующих категорий эксперта Database Expert. Или, чтобы добавить дополнительные таблицы (даже из баз данных разного типа) после того, как процесс создания отчета уже начался, снова откройте диалоговое окно Database Expert, воспользовавшись соответствующей кнопкой панели инструментов или соответствующим пунктом меню. Выбрав дополнительную таблицу или таблицы, перейдите на вкладку Links и должным образом установите между ними связи.

 

Работает ли функция автоматического связывания Crystal Reports?
Выбор типа соединения и типа связи на вкладке Links диалогового окна эксперта Database Expert
Принудительное соединение в Crystal Report
Просмотр SQL-запроса
Команды SQL в Crystal Reports

Добавить комментарий


Защитный код
Обновить