首页 > 解决方案 > 将 Excel 函数 VBA 连接到 SQL 问题 - 编译错误

问题描述

嗨,我正在尝试在我的 excel 表中运行一个函数,其中通过函数运行查询并生成数据,但我设法修复了在 SQL 中使用时有效的查询,但是当我从 Excel 运行函数时,我得到了以下错误:

编译错误:未定义用户定义的类型。

我在 EXCEL VB 中遇到的错误:

在此处输入图像描述

我正在运行的功能是:

Function Download_Standard_BOM(Query As String)
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim ConnectionString As String
    Dim StrQuery As String

    ConnectionString = "Driver={SQL Server};Server=STORESYSTEM 
;Database=STORE;Trusted_Connection=Yes;"

    cnn.Open ConnectionString
    StrQuery = Query 'Sheets("Tests Scenario").Range("J2").Offset(i, 0).Value
    cnn.CommandTimeout = 100
    rst.Open StrQuery, cnn, adOpenStatic, adLockOptimistic
    Download_Standard_BOM = rst("NAME")
End Function

我正在运行的 SQL 查询是:

SELECT TOP 1 NAME
FROM [SERVER].[dbo].[STORE]
WHERE SecurityE = 'SGX' AND
      Trans = ' 0' AND
      Type = '9' AND
      Status = '0' AND
      SubId = 'Reversal'

标签: sqlexcelvba

解决方案


确保包含对

Microsoft ActiveX 数据对象 2.1 库

在此处输入图像描述


推荐阅读