Crystal reports 我们需要打印的文本包括诸如“的文字”;及&引用;或&引用;如果;那个水晶被当作密码接收

Crystal reports 我们需要打印的文本包括诸如“的文字”;及&引用;或&引用;如果;那个水晶被当作密码接收,crystal-reports,Crystal Reports,我正在做一份定制报告,一点也不复杂。仅使用一个表/基本上,如果客户组与参数“Builder”相同,则报告需要打印文本列表。我需要写一个公式来表示 IF {?Builder}=”123456” THEN “QTXE FANS 6” DUCT FOR ALL BATHROOMS WITH TUB OR SHOWER QTRE FANS 4” DUCT ½ BATH OR ONLY ROOM AND THE LAUNDRY AS LONG AS IT IS NOT THE WHOLE HO

我正在做一份定制报告,一点也不复杂。仅使用一个表/基本上,如果客户组与参数“Builder”相同,则报告需要打印文本列表。我需要写一个公式来表示

IF {?Builder}=”123456”
THEN
“QTXE FANS 6”  DUCT FOR ALL BATHROOMS WITH TUB OR SHOWER 
QTRE FANS 4” DUCT ½ BATH OR ONLY ROOM AND THE LAUNDRY AS LONG AS IT IS NOT THE WHOLE     HOUSE FAN 
PULL WIRE FROM WHOLE HOUSE FAN SWITCH TO FURNACE 
TERMINALS 4 & 6 on relay
IF BIG CUSTOM VERIFY IF HOOD FAN NEEDS PULLED TO FURNACE 
LOW VOLT PANEL WITH # 10 GROUND PULLED TO PANEL AND 110 OUTLET 
ON LOW VOLT TRIM PUT TV CONNECTORS ON THE ENDS AND LEAVE IN PANEL
SPLICE PHONE/CAT 5 TOGETHER MAKE SURE THE HOME RUN IS MARKED
IF WE DO CAT5 JACKS USE B PATTERN
ALL FLOURESCENT LAMPS IN RECESS AND FIXTURES 100% FLO’S 
USE ARLINGTON WEATHER PROOF BOXES 
WE DO NOT SUPPLY AIR SWITCHES FOR NTH 
2 WORK PLUGS AFTER ROUGH 
ON HOUSES WITH SPLIT DUCT SYSTEM PUT IN 50 AMP TEMP PLUG AND 30 AMP FOR TEMP HEAT 
RADON PLUG IN ATTIC OR CRAWL“
ELSE IF {?Builder}=’789123’
THEN
…
你明白了


附件是如何在公式中读取代码的屏幕截图。有没有办法将此文本转换为纯文本,这样它就不会作为代码读取?

您需要执行所谓的转义文本。当您转义某个内容时,您将一个或多个字符放在命令前面,以便告诉解释代码的任何内容,它需要以与通常不同的方式处理转义字符后面的任何内容。但不妨尝试一下,大文本块现在用单引号封装:

IF {?Builder}=”123456”
THEN
'QTXE FANS 6”  DUCT FOR ALL BATHROOMS WITH TUB OR SHOWER ' + ChrW(13) +
'QTRE FANS 4” DUCT ½ BATH OR ONLY ROOM AND THE LAUNDRY AS LONG AS IT IS NOT THE WHOLE HOUSE FAN ' + ChrW(13) +
"PULL WIRE FROM WHOLE HOUSE FAN SWITCH TO FURNACE "+ ChrW(13) +
"TERMINALS 4 & 6 on relay " + ChrW(13) +
"IF BIG CUSTOM VERIFY IF HOOD FAN NEEDS PULLED TO FURNACE "+ ChrW(13) +
"LOW VOLT PANEL WITH # 10 GROUND PULLED TO PANEL AND 110 OUTLET "+ ChrW(13) +
"ON LOW VOLT TRIM PUT TV CONNECTORS ON THE ENDS AND LEAVE IN PANEL "+ ChrW(13) +
"SPLICE PHONE/CAT 5 TOGETHER MAKE SURE THE HOME RUN IS MARKED "+ ChrW(13) +
"IF WE DO CAT5 JACKS USE B PATTERN "+ ChrW(13) +
"ALL FLOURESCENT LAMPS IN RECESS AND FIXTURES 100% FLO’S "+ ChrW(13) +
"USE ARLINGTON WEATHER PROOF BOXES "+ ChrW(13) +
"WE DO NOT SUPPLY AIR SWITCHES FOR NTH "+ ChrW(13) +
"2 WORK PLUGS AFTER ROUGH "+ ChrW(13) +
"ON HOUSES WITH SPLIT DUCT SYSTEM PUT IN 50 AMP TEMP PLUG AND 30 AMP FOR TEMP HEAT "+ ChrW(13) +
"RADON PLUG IN ATTIC OR CRAWL" ChrW(13) +
ELSE IF {?Builder}=’789123’
THEN
…

您必须使用保留关键字作为文本,这样做

 Stringvar Array keys := ["\n"];
 Stringvar Array values := [Chr(10)+Chr(13)];
 text := Replace(text, keys[i], values[i])


您遵循的流程是错误的

  • 如果你想把每件事都写成一段话

    IF {?Builder}=”123456”
    THEN
    “QTXE FANS 6”  DUCT FOR ALL BATHROOMS WITH TUB OR SHOWER "+
    "QTRE FANS 4” DUCT ½ BATH OR ONLY ROOM AND THE LAUNDRY AS LONG AS IT IS NOT THE WHOLE HOUSE FAN "+
    "PULL WIRE FROM WHOLE HOUSE FAN SWITCH TO FURNACE "+
    "TERMINALS 4 & 6 on relay "+
    "IF BIG CUSTOM VERIFY IF HOOD FAN NEEDS PULLED TO FURNACE "+
    "LOW VOLT PANEL WITH # 10 GROUND PULLED TO PANEL AND 110 OUTLET "+
    "ON LOW VOLT TRIM PUT TV CONNECTORS ON THE ENDS AND LEAVE IN PANEL "+
    "SPLICE PHONE/CAT 5 TOGETHER MAKE SURE THE HOME RUN IS MARKED "+
    "IF WE DO CAT5 JACKS USE B PATTERN "+
    "ALL FLOURESCENT LAMPS IN RECESS AND FIXTURES 100% FLO’S "+
    "USE ARLINGTON WEATHER PROOF BOXES "+
    "WE DO NOT SUPPLY AIR SWITCHES FOR NTH "+
    "2 WORK PLUGS AFTER ROUGH "+
    "ON HOUSES WITH SPLIT DUCT SYSTEM PUT IN 50 AMP TEMP PLUG AND 30 AMP FOR TEMP HEAT "+
    "RADON PLUG IN ATTIC OR CRAWL"
    ELSE IF {?Builder}=’789123’
    THEN
    …
    
  • 如果您想在单独的行中添加行,请执行以下过程:

    IF {?Builder}=”123456”
    THEN
    “QTXE FANS 6”  DUCT FOR ALL BATHROOMS WITH TUB OR SHOWER "+ ChrW(13) +
    "QTRE FANS 4” DUCT ½ BATH OR ONLY ROOM AND THE LAUNDRY AS LONG AS IT IS NOT THE WHOLE HOUSE FAN "+ ChrW(13) +
    "PULL WIRE FROM WHOLE HOUSE FAN SWITCH TO FURNACE "+ ChrW(13) +
    "TERMINALS 4 & 6 on relay "+ ChrW(13) +
    "IF BIG CUSTOM VERIFY IF HOOD FAN NEEDS PULLED TO FURNACE "+ ChrW(13) +
    "LOW VOLT PANEL WITH # 10 GROUND PULLED TO PANEL AND 110 OUTLET "+ ChrW(13) +
    "ON LOW VOLT TRIM PUT TV CONNECTORS ON THE ENDS AND LEAVE IN PANEL "+ ChrW(13) +
    "SPLICE PHONE/CAT 5 TOGETHER MAKE SURE THE HOME RUN IS MARKED "+ ChrW(13) +
    "IF WE DO CAT5 JACKS USE B PATTERN "+ ChrW(13) +
    "ALL FLOURESCENT LAMPS IN RECESS AND FIXTURES 100% FLO’S "+ ChrW(13) +
    "USE ARLINGTON WEATHER PROOF BOXES "+ ChrW(13) +
    "WE DO NOT SUPPLY AIR SWITCHES FOR NTH "+ ChrW(13) +
    "2 WORK PLUGS AFTER ROUGH "+ ChrW(13) +
    "ON HOUSES WITH SPLIT DUCT SYSTEM PUT IN 50 AMP TEMP PLUG AND 30 AMP FOR TEMP HEAT "+ ChrW(13) +
    "RADON PLUG IN ATTIC OR CRAWL" ChrW(13) +
    ELSE IF {?Builder}=’789123’
    THEN
    …
    

  • 最好将每个文本段嵌入到自己的
    文本对象中
    ,然后根据参数值显示/抑制文本

    例如,包含示例文本的
    文本对象
    的条件抑制逻辑为:

    {?Builder}<>"123456"
    
    {?Builder}“123456”
    

    您还可以将每个
    文本对象
    放在单独的部分中,然后使用相同的逻辑显示/抑制该部分。

    Hi,bf2020。感谢您的回复,但该代码不起作用。如何实现“转义文本”?我用Siva的答案更新了上述代码,但正文中的前两行有双引号,现在用单引号封装。第一个单引号告诉crystal,在找到下一个单引号之前,您希望后面的内容像文本一样处理。第三行到第二行是相同的,只是它们使用双引号告诉crystal,文本之间的所有内容都是文本。上面编辑的代码工作正常!非常感谢@bf2020!嗨,湿婆,谢谢你的回复。您的上述代码不起作用。上面写着数字、货币……等等。关于“THEN”之后的第一行,此处需要。然而,bf2020对您的代码的翻译效果非常好。非常感谢!