Microsoft Access 2016 OLE 对象和二进制导出
Microsoft Access 2016 OLE Object & Binary export
我正在尝试编写一些 VBA 代码来生成一个文本文件,其中包含 SQL INSERT 语句,用于 Access 数据库 (accdb) 中 table 中的所有记录。 table 有一个 OLE 对象字段和一个二进制字段。我似乎无法将它们正确写入文本文件;我主要得到问号(?)。我搜索了解决方案并找到了一些可能的想法,但 none 奏效了。
如果有人有任何建议,我将不胜感激。
米格尔
经过更多搜索,我实际上找到了解决方案:
Function ByteArrayToHex(B() As Byte) As String
Dim n As Long, I As Long
ByteArrayToHex = Space$(2 * (UBound(B) - LBound(B)) + 2)
n = 1
For I = LBound(B) To UBound(B)
Mid$(ByteArrayToHex, n, 2) = right$("00" & Hex$(B(I)), 2)
n = n + 2
Next
ByteArrayToHex = "0x" & ByteArrayToHex
End Function
迈克尔
要导出 Microsoft Access 文件中的 OLE 对象,请使用 Access 应用程序打开此文件并创建包含所有相关字段的相应表单。使用 link 中提供的 VBA 代码,您应该能够以自动方式导出一些最常见的文件类型。祝你好运。
https://medium.com/@haggenso/export-ole-fields-in-microsoft-access-c67d535c958d
我正在尝试编写一些 VBA 代码来生成一个文本文件,其中包含 SQL INSERT 语句,用于 Access 数据库 (accdb) 中 table 中的所有记录。 table 有一个 OLE 对象字段和一个二进制字段。我似乎无法将它们正确写入文本文件;我主要得到问号(?)。我搜索了解决方案并找到了一些可能的想法,但 none 奏效了。
如果有人有任何建议,我将不胜感激。
米格尔
经过更多搜索,我实际上找到了解决方案:
Function ByteArrayToHex(B() As Byte) As String
Dim n As Long, I As Long
ByteArrayToHex = Space$(2 * (UBound(B) - LBound(B)) + 2)
n = 1
For I = LBound(B) To UBound(B)
Mid$(ByteArrayToHex, n, 2) = right$("00" & Hex$(B(I)), 2)
n = n + 2
Next
ByteArrayToHex = "0x" & ByteArrayToHex
End Function
迈克尔
要导出 Microsoft Access 文件中的 OLE 对象,请使用 Access 应用程序打开此文件并创建包含所有相关字段的相应表单。使用 link 中提供的 VBA 代码,您应该能够以自动方式导出一些最常见的文件类型。祝你好运。 https://medium.com/@haggenso/export-ole-fields-in-microsoft-access-c67d535c958d