ali*_*srn 1 oledb macos excel vba
我已经通过 oledb 连接在 Windows pc 上的 Excel 2016 中编写了一个宏。但它在我的 Mac 中不起作用。我怎样才能运行这个?通常,在 Windows 中,您选择工具 > 引用并检查 oledb 连接,但 Excel Mac 中没有工具选项。我不知道代码在这里很重要,但无论如何我都会分享它。
Dim sorgu1 As String
Dim con As Object, rs As Object
Set con = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
makine = Sheets("Dashboard").Cells(2, 11).Value
sorgu1 = "select [Resource Id], [Order No], Sum(([Bitim Zamani]-[Basl Zamani])*1440)" 'as Plansiz, Sum(([Bitim Zamani]-[Basl Zamani])*1440)as Planli, Sum([Qty]) as Uretim"
sorgu1 = sorgu1 + " from [Data$] where [Resource Id] = " + "'" + makine + "'"
sorgu1 = sorgu1 + "GROUP BY [Resource Id], [Order No], [Duru Kodu]"
Set rs = con.Execute(sorgu1)
Sheets("Dashboard").Range("B65536").End(3).Offset(1, 0).CopyFromRecordset rs
Set rs = Nothing
Run Code Online (Sandbox Code Playgroud)
只要库在机器上可用,您的代码使用后期绑定并且不需要“参考”。就您在 Mac OS 上的情况而言,该库不存在,据我所知,明确不允许。
来自微软(强调):
要从数据库(如 Microsoft SQL Server)导入数据,您必须在计算机上安装与 Microsoft Query 兼容的 ODBC 驱动程序。兼容的 ODBC 驱动程序可从第三方供应商处获得。有关详细信息,请参阅与 Excel for Mac 兼容的 ODBC 驱动程序。有关安装 ODBC 驱动程序的详细信息,请参阅 Microsoft Query 帮助。
重要的是,对于您的问题,如果使用 Excel 2011 for Mac,Mac OS 明确不支持 OLE DB。
Excel 2011 for Mac 无法从 OLE DB 或 OLAP 数据源导入数据。
因此,要回答您的问题,无法让您的SQL 查询在 Mac 上运行,您需要完全使用其他方法。
但是,如前所述,如果您使用的是 Excel 2016 for Mac,则可以执行以下操作:
此版本的 Excel 确实提供了用于连接 SQL Server 数据库的 ODBC 驱动程序。在数据选项卡上,单击新建数据库查询 > SQL Server ODBC。然后使用对话框导入数据。
如果您要连接到其他 ODBC 数据源(例如 FileMaker Pro),则需要在 Mac 上为数据源安装 ODBC 驱动程序。以下公司提供与 Excel for Mac 兼容的驱动程序:
或者,这个对类似问题的回答看起来很有希望:
| 归档时间: |
|
| 查看次数: |
4055 次 |
| 最近记录: |