水晶報表多分行顯示問題! 狂抓

jason_leung 2010-10-09 04:43:33
本人且水晶報表2008(OS及水晶報表都是繁體中文環境),調用水晶報表的前端程序為 PB 10.5開發的程序。
在報表祥細區中縱向放置三個字段cid,remark1,remark2(同一表頭下)
問題一,其中有兩個字段后台數據庫(MS-SQL2008英文32位)字段類型是:NTEXT 預覽報表時顯示不了值,但字段是有值的,
強行在水晶報的提取數據資料的SQL命令對這兩個字段進行類型轉換如:
CAST(remrk1 as varchar(50)) as remrk1 ,CAST(remrk2 as varchar(50)) as remrk2 ,預覽報表第二、三行有時能正常顯示,有時卻不能。不知何原因﹔

問題二,原三個字縱向排列,不管後兩個有沒有值,都要佔用兩行的空間,很浪費,將Remark1,remark2刪除,只保留cid 試過添加一個參數,在公式或者在第一行的欄位格式設定-->一盤選項卡的自動調大打勾,顯示字符串的公式中設定如下
TrimRight ({v_invoice_rpt.cid}) +
iif (IsNull({v_invoice_rpt.remark1}),"",chr(13) + Trimright({v_invoice_rpt.remark1})) +
iif (IsNull({v_invoice_rpt.remark2}),"",Chr(13) + Trimright({v_invoice_rpt.remark2}))

當remark1,remark1有非NULL的值時,有時預覽報表正常顯示達到預期的姣果,但有時即使emark1,remark1有非NULL的值,整欄顯示有時為空白,真搞不明白。
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason_leung 2010-10-12
  • 打赏
  • 举报
回复
谢谢阿泰的回贴。你的方法我没有测试,
因为在看到回贴之前我又花几小时的时间测试后发现
将 CAST(remrk1 as varchar(50)) as remrk1 ,CAST(remrk2 as varchar(50)) as remrk2改为

CAST(isnull(remrk1,'') as varchar(50)) as remrk1 ,CAST(isnull(remrk2,'') as varchar(50)) as remrk2

顯示字符串的公式中設定改为
TrimRight ({v_invoice_rpt.cid}) +
iif ({v_invoice_rpt.remark1}="","",chr(13) + Trimright({v_invoice_rpt.remark1})) +
iif ({v_invoice_rpt.remark2}="","",Chr(13) + Trimright({v_invoice_rpt.remark2}))
报表显示达到预期效果,总结关键一点须将ntext数据类型用CAST函数进行转换。否则怎样折腾都达不到预期效果
阿泰 2010-10-09
  • 打赏
  • 举报
回复
remark1和remark2字段里有没有chr(0),chr(10)之类的值,replace掉再试试

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧