2011-01-14 73 views
1

我需要訪問報告才能使用CSV文件作爲RecordSource使用CSV /文本文件作爲報告的記錄源

我已經搜索並嘗試了很多事情,但是我找不到實現這個目標的方法。其他數據庫中的臨時表是而不是的一個選項。

我一直在嘗試使用DAO RecordSet,但同時我也閱讀RecordSet就好了,我不能將它作爲報告的RecordSet和這兩種方法導致的錯誤,我不能用它Name作爲RecordSource屬性。

請幫我找個辦法!

回答

2

我你的報表的記錄,使用IN操作符在FROM子句指定一個連接字符串:

SELECT [TestMailing#txt].* 
    FROM [TestMailing#txt] IN 'C:\Documents and Settings\My Documents'[Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1252]; 

基本上,文本文件中有兩個部分,第一個是文件所在的路徑,第二個是括號內的連接字符串選項。通過創建文本文件的鏈接並檢查其連接字符串,我發現了參數的含義。

最後,您將文本文件稱爲表格,使用其文件名#替換。爲擴展。

當您使用Access查詢構建器時,可以將這些選項放在查詢的屬性表中,其中路徑爲Source Database屬性,連接字符串選項爲Source Connect Str屬性。將它們放入屬性表後,可以單擊ADD TABLES工具欄圖標以獲取指定文件夾中特定連接字符串的文件列表。

如果您的報告要使用相同的結構文件,則可以通過創建保存的導入規範來提高可靠性,該規範也可以在連接字符串選項中指示。你可以通過創建鏈接表到文本文件然後檢查它的連接字符串來找到它。

但是,如果是這種情況,那麼爲什麼不應該只創建鏈接到文本文件並將其永久保留在那裏,這是很有原因的!

1

執行此操作的唯一方法是AFAIK,即鏈接csv文件。報告完成後,您可以在運行時鏈接並取消鏈接,如果保持鏈接是一個問題。 DoCmd對象的TransferText方法將允許您鏈接到VBA中。

更多信息:http://msdn.microsoft.com/en-us/library/aa220768(v=office.11).aspx

+0

我以前找到過這方面的信息,但是我找不到TransferText方法或CreateTableDef函數(應該是等價的)的文檔。你能否提供一個參考手冊的鏈接?我不知道它需要什麼論點! – Falcon 2011-01-14 11:13:01