2014-12-31 1 views
0

У меня есть Crystal Report, с помощью команды базы данных:Не может переназначить поля - окно карты полей отсутствует новая таблица

CR Database Expert

Команда имеет присоединиться пункт, который может быть удален и чтением из таблицы в базе данных, поскольку он представляет статические данные. Я добавляю эту таблицу (называемую _System) эксперт базы данных:

New table added

Теперь отредактировать команду, чтобы удалить присоединиться и столбцы, которые ссылаются на эту таблицу. Так как поля отчета, которые зависят от этих столбцов, больше не отображается, это вызывает окно Map Fields появится:

CR map fields

... который не имеет новую таблицу в нем. Если я откажусь от этого, я вернусь туда, откуда я был. Если я ударил ОК без сопоставления, все немаркированные поля в отчете удаляются (достаточно сказать ... Я не ожидал этого> :()

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

Один из способов заключается вручную заменить все поля в отчете, но это очень трудоемкий.


Вот набросок команды до:

SELECT ACT.Account_Code, ACT.Company, ACT.FName, --etc 
     STM.CompanyName AS 'DLRName', STM.Address_1 AS 'DLRAddress', STM.City AS 'DlrCity' --etc 
FROM Accounts AS ACT 
    JOIN _System AS STM ON 1 = 1 
GROUP BY ACT.Account_Code, ACT.Company, ACT.FName, --etc 
     STM.CompanyName, STM.Address_1, STM.City --etc 

И после того, как:

SELECT ACT.Account_Code, ACT.Company, ACT.FName, --etc 
FROM Accounts AS ACT 
GROUP BY ACT.Account_Code, ACT.Company, ACT.FName --etc 

Я удалил JOIN на столе _System, и все ссылки столбцы.

ответ

1

Похоже, что вы не признаете свою таблицу _system в качестве нового источника.

я бы:

1) оставить команду объекта SQL без изменений & получить этот вопрос разработан с таблицей _System, затем

2) убедитесь, что вы в состоянии установить соединение между объектом команды полей и полей таблицы системы, и, наконец,

3) затем переназначьте поля.

Шаг 2 Я подозреваю, что источником является проблема, так как ваше условие соединения равно «ON 1 = 1», которое, как я полагаю, означает, что у вас может не быть общего ключевого поля в обеих таблицах.

Обратите внимание, что ваша исходная команда SQL выбирает STM.Companyname AS 'DLRName'.

Таким образом, кристалл теперь знает поля под названием DLRName, но не знает поле под названием НазваниеКомпания, следовательно, он не может сделать связь между DLRName в старом источнике, и НазваниеКомпании в новом источнике ...

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

Но это не ... что говорит мне, что что-то пошло не так с попыткой подключить/открыть таблицу _System. Следовательно, вам нужно сначала это выработать, а затем внести коррективы в поле.

Если это не приведет вас к ... затем покажите некоторые данные образца, чтобы я мог видеть, как связаны две таблицы (убедитесь, что существуют некоторые примеры, когда существует соответствие строк из обеих таблиц).

+0

Эти две таблицы вообще не связаны, поэтому я беру _System из соединения. К сожалению, нет общих ключевых полей. Я попытался добавить ссылки между псевдонимами _System в команде и фактическими столбцами в таблице, но это не сработало для окна полей карты. Это похоже на распознавание _System как нового источника, так как закрытие эксперта базы данных дает предупреждение «Более одного источника данных или хранимой процедуры было использовано в этом отчете». – Aaroninus

+0

Хорошо ... Мне не хватает большой картины здесь. Какова цель наличия таблицы _System? Что он делает для вас? Когда вы запускаете исходную версию отчета, заполняются ли эти поля? –

+0

Стол _System содержит статическую информацию ([см. Пример 1 здесь] (http://kenhamady.com/cru/archives/716)), используемый для заполнения заголовка отчета. Я пытаюсь отделить его от команды без необходимости вручную повторно добавлять все объекты отчета. – Aaroninus

Смежные вопросы