2010-10-14 63 views
3

嘗試在Access 2007中構建查詢。其中一列具有數據類型「備註」。有時會返回最新版本,而其他版本則顯示爲空白。只有右鍵單擊並在每一行上選擇「顯示列歷史記錄」,我是否才能在該列中看到完整的數據集。通過查詢設計器或SQL有沒有辦法可以在整個數據庫中檢索這些數據?如何從Access 2007中的「備忘錄」字段查詢列歷史記錄?

+1

如果發現會好奇這是一個體面的解決方案。我過去的解決方案是將所有內容導出到csv中並將其導入到mssql中(使用文本字段)。在其答案中包含「卸載MS Access」的任何人的額外要點;) – Twelfth 2010-10-14 16:31:06

回答

3

通過定義一個將字段歷史作爲字符串返回的VBA函數來找到答案。然後在查詢「字段」值中使用此函數。右鍵單擊查詢生成器中的「字段」單元格,然後從右鍵單擊菜單中選擇「生成」。在這裏你可以找到VBA功能。表達式生成器將是這個樣子:

Expr1: GetHistory([ID]) 

下面是VBA函數:

Public Function GetHistory(rowID As Integer) As String 
    On Error Resume Next 
    Dim sHistory As String 
    sHistory = Application.ColumnHistory("Table Name", "Column Name", "ID=" + CStr(rowID)) 
    GetHistory = sHistory 
End Function 

幫助閱讀:

+0

另一個有用的鏈接:http://msdn.microsoft.com/en-us/library/bb242869%28office.12%29.aspx – 2010-10-14 17:53:50

+0

我相信這些新的附加備忘錄字段(A2007中的新增內容)是一個錯誤 - 它是非規範化的數據,每個單獨的編輯應該是單獨表中的記錄。另外,請記住,這些(以及多值字段和附件字段,所有這些字段都是基於隱藏UI背後的N:N結構的原則)被引入Access以與Sharepoint兼容。除此之外,我想我會避免它們。 – 2010-10-16 17:13:28

+0

通過SharePoint創建需要基於此「備註」字段的查詢的Access數據庫。我同意他們值得迴避,但這是一個預先存在的數據庫,並且管理層要求這些數據在Access報告中獲取。娛樂時間。 – 2010-10-18 03:28:32

相關問題