如何使用Excel VBA从Access数据库中提取备注字段?
我有一个Excel电子表格。我正在通过ODBC连接到Access数据库。大致如下:如何使用Excel VBA从Access数据库中提取备注字段?,excel,ms-access,memo,Excel,Ms Access,Memo,我有一个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 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似乎根本无法处理备注字段内容。我的代码
ActiveCell = oRs.Fields("memoField")
…给出错误运行时错误“3146”:ODBC--调用失败
有什么建议吗?Excel VBA实际上可以获取备注字段数据吗?还是完全不可能。我也从GetChunk得到了完全相同的错误
ActiveCell = oRs.Fields("memoField").GetChunk(0, 2)
…还提供运行时错误“3146”:ODBC--调用失败
转换为文本字段可以使一切正常工作。然而,一些数据当然被截断为255个字符,这意味着这不是一个可行的解决方案。- 请尝试
查看它是否有效Range.CopyFromRecordset
- 尝试使用
并将CStr(oRs.Fields(“memoField”)
范围的
分配给值2
/
ActiveCell
- 尝试使备注字段成为表中的最后一个物理列。检索时,备注字段为只读。备注字段不在表的末尾,但存在/可能仍然存在问题
- 请尝试
查看它是否有效Range.CopyFromRecordset
- 尝试使用
并将CStr(oRs.Fields(“memoField”)
范围的
分配给值2
/
ActiveCell
- 尝试使备注字段成为表中的最后一个物理列。检索时,备注字段为只读。备注字段不在表的末尾,但存在/可能仍然存在问题
我现在所能想到的一切。我很早就尝试过CStr,认为这是转换的问题,但这也引发了完全相同的错误。我将尝试其他两种选择,谢谢。我很早就尝试了CStr,认为这是转换的问题,但这引发了完全相同的错误。我会尝试其他两种选择,谢谢。