如何使用Excel VBA从Access数据库中提取备注字段?

我有一个Excel电子表格。 我通过ODBC连接到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 – 调用失败。

有什么build议么? Excel VBA实际上可以获得备忘录字段数据吗? 或者是完全不可能的 我也从GetChunk获得完全相同的错误。

 ActiveCell = oRs.Fields("memoField").GetChunk(0, 2) 

…也给错误运行时错误'3146':ODBC – 调用失败。

转换到文本字段会使一切正常工作。 但是,当然有些数据被截断为255个字符,这意味着这不是一个可行的解决scheme。

  • 尝试Range.CopyFromRecordset ,看看它是否工作。
  • 尝试使用CStr(oRs.Fields("memoField"))并将其分配给Range / ActiveCell Value2
  • 尝试使备注字段成为表中的最后一个物理列。 备忘录字段仅在检索时才被读取。 备忘录字段存在/可能仍然是一个问题,这些备忘录字段并不在表格的最后。

我现在所能想到的

Interesting Posts