小编Jas*_*asu的帖子

使用 VBA 对特定单元格使用 WHERE 条件进行 SQL 查询

我是 VBA 的新手,我试图将数据从 SQL 服务器数据库上的特定表中提取到 Excel 上的特定单元格。我有以下表单类型:

在此处输入图片说明

应根据用户键入的 ID(在单元格 B2 中)提取数据。例如,我使用以下 VBA 代码从数据库表中获取用户名:

Sub Get_Data()

        Set objMyconn = New ADODB.Connection
        Set objMyCmd = New ADODB.Command
        Set objMyRecordset = New ADODB.Recordset
        Dim rc As Long

        objMyconn.ConnectionString = "Provider=SQLOLEDB;Data Source=IP_ADDRESS;Initial Catalog=My_Database; Integrated Security=SSPI;"

        objMyconn.Open

        Set objMyCmd.ActiveConnection = objMyconn
        objMyCmd.CommandText = "select User_Name from My_Database WHERE User_ID = '" & Range("B2").Value & "'"""

        objMyCmd.CommandType = adCmdText
        objMyCmd.Execute

        Set objMyRecordset.ActiveConnection = objMyconn
        objMyRecordset.Open objMyCmd

        ActiveSheet.Range("B3").CopyFromRecordset (objMyRecordset)     
End Sub
Run Code Online (Sandbox Code Playgroud)

运行代码时出现此错误:

在此处输入图片说明

另外,关于如何在各个单元格中提取会话信息的数据数组的任何想法(再次使用基于用户 ID 的 Select 查询)?例如小区B8、C8、D8、B9、C9、D9等。一个用户可能有多个会话。

sql sql-server excel vba

0
推荐指数
1
解决办法
1504
查看次数

标签 统计

excel ×1

sql ×1

sql-server ×1

vba ×1