Crystal reports crystal reports试图通过匹配字符串链接两个表,但运气不佳

Crystal reports crystal reports试图通过匹配字符串链接两个表,但运气不佳,crystal-reports,Crystal Reports,如标题所述,我试图链接两个表。这两个字符串似乎是匹配的,但Crystal Reports并没有检测到它。我唯一能想到的是字段的长度是不同的,即使字符串是相同的。这会导致不一致吗?如果是,我如何纠正它?谢谢字符串的长度将阻止匹配。如果您使用的是Trim(string)函数,则只会删除字符串开头或结尾的空格,因此使用此函数后,两个字符串的长度可能仍然不同。您需要使用另一个函数来捕获原始字符串的子字符串。为此,您可以使用Left(string,length)函数确保两个字符串的长度相同 如果它们仍然不

如标题所述,我试图链接两个表。这两个字符串似乎是匹配的,但Crystal Reports并没有检测到它。我唯一能想到的是字段的长度是不同的,即使字符串是相同的。这会导致不一致吗?如果是,我如何纠正它?谢谢

字符串的长度将阻止匹配。如果您使用的是
Trim(string)
函数,则只会删除字符串开头或结尾的空格,因此使用此函数后,两个字符串的长度可能仍然不同。您需要使用另一个函数来捕获原始字符串的子字符串。为此,您可以使用
Left(string,length)
函数确保两个字符串的长度相同

如果它们仍然不匹配,则一个或两个字符串中可能有不可打印的字符。回车符和换行符往往是最常见的不可打印字符。回车符表示为
Chr(10)
,换行符表示为
Chr(13)
。这些是内置常量,类似于VBA和Visual Basic中的常量

您可以使用“查找并替换”来使用以下公式删除它们。这是一个不错的主意,也包括修剪和左功能,以及确保你得到最好的匹配可能

Replace(Replace(Left(Trim({YourStringField}), 10),Chr(10), ""),Chr(13), "")

如果这不起作用,您可能需要检查一些额外的内置常量。例如,选项卡表示为
Chr(9)
。但是字符串包含其他内置常量的情况非常罕见。在大多数情况下,回车符和换行符是纯文本中唯一的字符。制表符和其他常量只能在富文本中找到,在字符串数据中非常罕见。

刚刚确认一个字符串是字符串[10],另一个是字符串[50]。我还尝试将其链接为子报表,使用字符串的修剪版本,但没有用。我刚刚意识到我忽略了对此的响应。使用左公式解决了这个问题。非常感谢。