2
我有一個Excel電子表格。我通過ODBC連接到Access數據庫。一些沿線:如何使用Excel VBA從Access數據庫中提取備註字段?
Set dbEng = CreateObject("DAO.DBEngine.40")
Set oWspc = dbEng.CreateWorkspace("ODBCWspc", "", "", dbUseODBC)
Set oConn = oWspc.OpenConnection("Connection", , True, "ODBC;DSN=CLIENTDB;")
然後,我使用查詢和提取結果集來獲取某些表數據。
Set oQuery = oConn.CreateQueryDef("tmpQuery")
oQuery.Sql = "SELECT idField, memoField FROM myTable"
Set oRs = oQuery.OpenRecordset
現在出現了這個問題。我的領域是一個dbMemo,因爲最大內容長度高達幾百個字符。這並不長,實際上我讀的價值只有十幾個字符。但是Excel似乎根本無法處理Memo字段的內容。我的代碼...
ActiveCell = oRs.Fields("memoField")
...給出錯誤運行時錯誤'3146':ODBC-調用失敗。
有什麼建議嗎? Excel VBA實際上可以獲得備忘錄字段數據嗎?或者它完全不可能。我也從GetChunk得到完全相同的錯誤。
ActiveCell = oRs.Fields("memoField").GetChunk(0, 2)
...還給出錯誤運行時錯誤'3146':ODBC - 調用失敗。
轉換爲文本字段可以使所有工作正常。但是,當然有些數據被截斷爲255個字符,這意味着這不是一個可行的解決方案。
我早期嘗試過CStr,認爲這是轉換問題,但是提出了完全相同的錯誤。我會嘗試其他兩個選項,謝謝。 – 2010-03-31 03:57:17