我有一個包含絕對引用文本文件列表的水晶報告。每個正文行中都引用了一個文本文件。是否有可能在Crystal Reports中顯示文本文件的內容
例如
line1 c:\file1.txt
line2 c:\file2.txt
有什麼辦法可以在Crystal中顯示這些文件的內容嗎?
即我希望每個水晶身體線顯示引用的文本文件中的文本。
我正在使用具有非標準數據庫連接器(dataflex)的Crystal報表11。
我有一個包含絕對引用文本文件列表的水晶報告。每個正文行中都引用了一個文本文件。是否有可能在Crystal Reports中顯示文本文件的內容
例如
line1 c:\file1.txt
line2 c:\file2.txt
有什麼辦法可以在Crystal中顯示這些文件的內容嗎?
即我希望每個水晶身體線顯示引用的文本文件中的文本。
我正在使用具有非標準數據庫連接器(dataflex)的Crystal報表11。
我猜如果你有一個函數將文件名作爲參數並返回該文件的內容 - 你可以在Crystal Report公式中使用該函數。
我對當前的CR並不熟悉,自從我上次使用它(我上次使用的版本8)以來已有數年了。在我使用的版本中,這樣的函數並不是內置的。當時你需要做的是創建一個包含你需要的函數的UFL(用戶函數庫)。如果我沒有記錯,你必須使用COM來做到這一點。
在這個時代,我猜你可以使用其他機制擴展CR,也許編寫.NET代碼?
我建議你搜索術語UFL的CR文檔。
另一項建議,然後:
不幸的是,我們的數據庫不允許大於17K的斑點。 (不要問。)我將coninue搜索。 – seanyboy 2009-06-23 12:19:48
你可以設置一個文件dsn。但是這是面向表格文件數據,而不是文本。
這些文本文件有多大?你想顯示每個文件的全部內容?
可能沒有簡單的方法來動態讀取晶體內的文件。您很可能必須將數據集推送到包含文件內容的報告。
您需要設置一個文件dsn(在XP中它位於控制面板/管理工具/數據源(ODBC)下),然後將數據源的文件dsn(Microsoft Text Driver)用作ODBC(RDO)連接。
我把這個測試場景了對礦井像下面這樣:
**File 1**
column1
1row1
1row2
1row3
**File 2**
column1
2row1
2row2
2row3
我設置文件DSN指向C盤在我加入FILE1.TXT和FILE2.TXT到數據源屏幕選定的表格。然後,最簡單的事情就是清除表格的鏈接,以便拉動每一行。它會警告你有多個起點。我通常不會推薦這個,但它在這種情況下會起作用,並且由於它不報告數據庫,所以它可能不是世界末日。如果你忽略了起點消息,然後添加字段添加到報表,當你運行它,你應該得到下面的輸出:
1row1 2row1
1row1 2row2
1row1 2row3
1row2 2row1
1row2 2row2
1row2 2row3
1row3 2row1
1row3 2row2
1row3 2row3
從這裏就可以改變你的分組來獲得你所需要的輸出。
您也可以使用相同的連接反對子報表,而不是做這個鏈接,你必須在主報告中拉離FILE1.TXT的信息,然後把報表中,從FILE2.TXT拉報表頁腳。該選項不會整理文本,但您仍然可以在同一報告中找到它。
希望這有助於一些。
這比您想象的要容易。在我寫這篇文章之前,我只是自己創建一個,以確保我給你正確的步驟。使用CR版本XI和.txt文件,我按照以下步驟操作:
這樣做只會返回文本文件的前256個字符。 – seanyboy 2009-06-22 16:28:02
否 - 雙重檢查,它絕對不起作用。有一些來自Web的建議,Crystal報告對公式的結果有255個字符限制。 – seanyboy 2009-06-22 17:01:20