亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

VBA,ADO.Connection和查詢參數

VBA,ADO.Connection和查詢參數

一只名叫tom的貓 2019-09-05 10:05:12
VBA,ADO.Connection和查詢參數我有excel VBA腳本:Set cоnn = CreateObject("ADODB.Connection")conn.Open "report"Set rs = conn.Execute("select * from table" )腳本工作正常,但我想添加參數。例如“where(parentid = myparam)”,其中myparam在查詢字符串外設置。我該怎么做?當然我可以修改查詢字符串,但我認為這不是很明智。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您需要使用可以添加參數的ADODB.Command對象。這基本上就是這樣的


Sub adotest()


    Dim Cn As ADODB.Connection

    Dim Cm As ADODB.Command

    Dim Pm As ADODB.Parameter

    Dim Rs as ADODB.Recordset


    Set Cn = New ADODB.Connection

    Cn.Open "mystring"

    Set Cm = New ADODB.Command

    With Cm

        .ActiveConnection = Cn

        .CommandText = "SELECT * FROM table WHERE parentid=?;"

        .CommandType = adCmdText


        Set Pm = .CreateParameter("parentid", adNumeric, adParamInput)

        Pm.Value = 1


        .Parameters.Append Pm


        Set Rs = .Execute

    End With


End Sub

CommandText中的問號是參數的占位符。我相信,但我不是肯定的,你追加參數的順序必須與問號的順序相匹配(當你有多個時)。不要被愚弄,參數被命名為“parentid”,因為我不認為ADO關心除了識別之外的名稱。




查看完整回答
反對 回復 2019-09-07
  • 2 回答
  • 0 關注
  • 547 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號