如何在 ListObject 中显示 guid
How can I display guids in a ListObject
我试图在 ListObject
中显示 SQL 语句的结果。 SQL 语句 selects 在 MS-Access table 中并且包含数据类型为 guid
.
的列的数据
ListObject 对象是这样创建的
set listObj = activeSheet.listObjects.add( _
sourceType := xlSrcExternal , _
source := array(source) , _
destination := destCell)
source
是一个字符串,值为 OLEDB;provider=Microsoft.ACE.OLEDB.12.0;data source=p:\ath\do\db.accdb
.
我这样执行select语句
with listObj ' {
.displayName = "foo"
with .queryTable ' {
.commandType = xlCmdSql
.commandText = array("select * from tab")
.refreshOnFileOpen = false
.backgroundQuery = true
.refreshStyle = xlInsertDeleteCells
.saveData = true
.refreshPeriod = 0
.preserveColumnInfo = true
.refresh backgroundQuery := false
end with ' }
end with ' }
这显示了查询的结果集,但没有包含 guid 的列。
那么,有没有办法添加 guid 列?
我不这么认为,如果你限制自己使用 ListObjects 和 OLEDB。
GUID 在 Access 中表示为二进制数据。 Excel listobjects 无法显示。
要将 GUID 转换为字符串,通常使用 Access 中的 StringFromGUID
函数,但 OLEDB 不支持该函数。
但是,PowerQuery 和 Microsoft Query 本身就可以理解 GUID 并将正确显示它们。不幸的是,通过 VBA 使用 PowerQuery 往往会弹出讨厌的警告,因此 Microsoft Query 往往是最佳选择。
或者,您可以首先在 Access 中执行 SELECT StringFromGUID(MyGuid) As MyGUIDString, * INTO TempTable FROM tab
(通过自动化 Access 应用程序),然后在 Excel 中显示它。
我试图在 ListObject
中显示 SQL 语句的结果。 SQL 语句 selects 在 MS-Access table 中并且包含数据类型为 guid
.
ListObject 对象是这样创建的
set listObj = activeSheet.listObjects.add( _
sourceType := xlSrcExternal , _
source := array(source) , _
destination := destCell)
source
是一个字符串,值为 OLEDB;provider=Microsoft.ACE.OLEDB.12.0;data source=p:\ath\do\db.accdb
.
我这样执行select语句
with listObj ' {
.displayName = "foo"
with .queryTable ' {
.commandType = xlCmdSql
.commandText = array("select * from tab")
.refreshOnFileOpen = false
.backgroundQuery = true
.refreshStyle = xlInsertDeleteCells
.saveData = true
.refreshPeriod = 0
.preserveColumnInfo = true
.refresh backgroundQuery := false
end with ' }
end with ' }
这显示了查询的结果集,但没有包含 guid 的列。
那么,有没有办法添加 guid 列?
我不这么认为,如果你限制自己使用 ListObjects 和 OLEDB。
GUID 在 Access 中表示为二进制数据。 Excel listobjects 无法显示。
要将 GUID 转换为字符串,通常使用 Access 中的 StringFromGUID
函数,但 OLEDB 不支持该函数。
但是,PowerQuery 和 Microsoft Query 本身就可以理解 GUID 并将正确显示它们。不幸的是,通过 VBA 使用 PowerQuery 往往会弹出讨厌的警告,因此 Microsoft Query 往往是最佳选择。
或者,您可以首先在 Access 中执行 SELECT StringFromGUID(MyGuid) As MyGUIDString, * INTO TempTable FROM tab
(通过自动化 Access 应用程序),然后在 Excel 中显示它。