乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> 请问如何在<em>VBA</em>中执行S

<em>Excel</em> 请问如何在<em>VBA</em>中执行S

作者:乔山办公网日期:

返回目录:excel表格制作


.Parameters.Append .CreateParameter("@FromDate", adVarChar, 1, Len(CStr(Format(Me.FromDate, "yyyy-mm-dd"))), CStr(Format(Me.FromDate, "yyyy-mm-dd")))
我是这样写的, 输入输出用1和2即可
另外未定义的错误信息是VBA提示,还是SQL里面的存储过程提示?

sub test()

Dim Conn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
Dim rs As New ADODB.Recordset

strConn = "Provider=sqloledb;Server=192.168.1.111;Database=db2014;Uid=用户名;Pwd=密码;"
Conn.Open strConn

Max_row = Range("A1").CurrentRegion.Rows.Count

for i=1 to Max_row
strSQL = "select name from sales2014 where id='" & range("A" & i).value & "'"
Conn.Execute strSQL
rs.Open strSQL, Conn, 1, 1
range("B" & i).value= rs(0)
rs.Close
Set rs = Nothing
next i

'关闭数据
Conn.Close
end sub
查询结果就可以直接复制粘贴,存储过程没试过,一般都直接用代码调用存储过程,然后再保存到excel。

您好e799bee5baa6e997aee7ad94e58685e5aeb9337

给您找了一段VBA的代码,请参考,未测试。

Sub test()
Dim strcon As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
strcon = "Driver={SQL Server};Server=**********;UID=**;PWD=*********;DataBase=***"
cn.Open strcon

strsql = "exec 存储过程名 '" & Sheet2.Cells(2, 2).Value & " ','" & Sheet2.Cells(3, 2).Value & " '"   '参数可选
rs.Open strsql, cn, adOpenDynamic, adLockBatchOptimistic
 r = 6
 Sheet2.Range(Cells(6, 1), Cells(50000, 20)).ClearContents
    For i = 0 To rs.Fields.Count - 1
       Sheet2.Cells(5, i + 1).Value = rs.Fields(i).Name
    Next i
    
While Not rs.EOF
    For i = 0 To rs.Fields.Count - 1
       Sheet2.Cells(r, i + 1).Rows.Value = rs.Fields(i).Value
    Next i
    r = r + 1
    rs.MoveNext       
Wend
End Sub

相关阅读

关键词不能为空
极力推荐
  • 如何将2013版excel转换为2003或更低版本excel

  • 1、如果需以查看知Excel的版本,可以打开EXCEL软件,点击“文件”,找到“帐户”,在产品道信息中查看产品信息,点击"关于EXCEL"可看到详细的版本。版2、具体的操作如下所示。点击“

ppt怎么做_excel表格制作_office365_word文档_365办公网