2

我正在使用旧版本的水晶报表 8.5,并且在详细信息中显示字段时遇到问题。

This report uses 6 tables in SQL Server database:  
2 in database1:
tblRecibo, tblCanaisDistribuicao

3 in database2: 
tblPessoas, tblMoradas, tblCodPostal, tblRamos

tblRamos.CodRamo是一个 int 数据类型,我想在详细信息部分显示它。

@N_Apolice

left(CSTR({tblRamos.CodRamo}, "000"),3)

似乎我无法从此表中获取任何字段,但我可以访问 Group-Header 部分中同一数据库的其他表中的字段(此报告使用来自 2 个不同数据库的表,并且未使用任何表名在两个数据库上重复)。

已经按了几次验证数据库按钮......但问题仍然存在......有没有办法强制它特别检查这个表?还是这个数据库?(因为有 2 个,它可能只检查另一个)

我已经在 SQL 中进行了测试,如果获取数据的查询应该返回字段,它确实......

编辑
我开始重做整个报告,显然只有当我将代码添加到另一个公式字段(使用相同数据库但其他数据表的字段)时,公式字段才正确显示其值

@Nome

Ucase({tblPessoas.Nome} & " " & {tblPessoas.NomeIntermedio} & " " & {tblPessoas.Apelido})

@莫拉达

Ucase({tblMoradas.Morada})

@C邮政

IF ISNULL({tblMoradas.LocPostal}) THEN
{tblMoradas.CPostal} & "-" & {tblMoradas.CPostalAux}
ELSE
{tblMoradas.CPostal} & "-" & {tblMoradas.CPostalAux} & " " & {tblMoradas.LocPostal}

在我看来,这根本没有意义……

edit2
这 3 个字段在组标题部分,而另一个在详细信息部分......这可能是问题吗?

部分

报告

由于某种原因发生冲突的字段是@N_Apolice(详细信息)和标题上的@Nome、@Morada、@CPostal。

详细信息部分中的所有其他字段都来自另一个数据源并且运行良好

在此处输入图像描述

4

1 回答 1

0
I can write as comment but its is becoming huge and wrote as answer

兄弟,我可以将其视为与您的表格的明确链接问题...

检查表tblPessoas, tblMoradas, tblCodPostaltblRamos...之间的链接,因为您的公式Morada and CPostal来自表tblMoradas 并且Nome来自表tblPessoas,最后N_Apolice是来自tblRamos所有属于同一数据源的问题字段...。

现在的主要问题是,当添加 3 个公式时,一个详细的公式没有显示......我认为这是因为链接,因为当您包含 tblRamos 以外的其他表中的字段时,来自这些表的链接将被包括在内在查询中阻止来自 tblRamos 的数据不在报告中显示.....

现在,当删除 3 个公式并包含来自 tblRamos 的字段时,这 3 个表不包含在查询中,这就是您可以看到一些数据的原因...

您可以通过首先检查包含 3 个表的查询并再次删除这些表来尝试自己。如果您仍然不确定,请在数据库上触发相同的查询并检查提取的行。

解决方案:

我建议的解决方案是首先检查链接,如果从其他表中与 tblRamos 有任何内部连接,则将其删除并包括到表 tblRamos 的外部连接并检查结果,据我说应该可以。它的工作然后检查详细的数据库链接和要显示的数据。据我所知,这应该有效。

让我知道我的方法是否对您有用。

于 2015-06-09T12:05:27.690 回答