2011-12-09 72 views
2

我正在尋找一種方法來創建公式字段,該公式字段將列出在Crystal報表中用作數據源的所有表的表名。創建公式字段,列出Crystal Report中的所有表格

我還沒有找到任何在應用程序中提供該功能的功能。

這將用於將表的列表作爲對無權訪問報表文件但需要知道報表中使用的表的用戶的補充。

儘可能動態地執行此操作似乎更好 - 而不必提供鏈接到報表中的當前表的靜態列表。

謝謝。

回答

2

不幸的是,這種類型的功能在Crystal Reports中不存在。

您可能可以使用UFL來解決問題。總體思路:以UFL當前報告的

  • 通路徑(文件名功能會給你這個)
  • 打開使用的Crystal Reports SDK所引用的報告,審查在DataDefintion類的表; DatabaseFieldDefinition.UseCount將幫助確定報表中是否引用了一個字段(因此是表)
  • 將表名稱返回爲字符串數組(注意:CR僅支持具有最多1000個元素的1維數組)
  • 創建一個公式字段來調用UFL的函數;加入()字符串數組(式字段不能返回的數組):

    加入(GetRptTables(文件名), 「」)

  • 與.RPT

分發UFL

另一個選項是Metadata Manager,如果您有BusinessObjects Enterprise和一個備用的$ 40K,這將爲您提供組織報告部署的整體視圖。

相關問題