如何在vba模块中执行SQL查询

时间:2016-09-19 15:39:06

标签: excel-vba vba excel

我目前仍在尝试对vba模块执行SQL查询。

Option Explicit
Public con As ADODB.Connection
Public Const CONNECTION_STRING As String = "Provider=SQLOLEDB; uid=;pwd=; DATABASE=MFBPRD; SERVER=MCPLONSQL01;Integrated Security=SSPI;"

    Function Run()
    Call ConnectDB
    Dim Cmd As ADODB.Command
    Dim rcs As ADODB.Recordset
    Dim SQL As String
    Dim res() As String

    Set Cmd = New ADODB.Command
    Set Cmd.ActiveConnection = con

     SQL = "select tl.id, al.price_crossing, al.price_exchange_fees, tl.charges_execution, tl.charges_mariana, tl.charges_exchange, tl.trade_date, un.value, tl.nb_crossing  from mfb.trade_leg tl"
     SQL = SQL & "inner join mfb.trade t on t.id = tl.id_trade"
     SQL = SQL & "inner join mfb.instrument i on t.id_instrument = i.id"
     SQL = SQL & "inner join mfb.instrument_type it on it.id = i.id_instrument_type"
     SQL = SQL & "inner join mfb.options o on o.id_instrument = i.id"
     SQL = SQL & "inner join mfbref.mfb.underlying un on un.id = o.id_underlying"
     SQL = SQL & "inner join mfb.allocation_leg al on al.id_trade_leg = tl.id"
     SQL = SQL & "where tl.trade_date > '20160101' and t.state = 3"

    Cmd.CommandText = SQL
    Set rcs = Cmd.Execute()

End Function

在此基础上,我添加了调用ConnectDB的代码。

0 个答案:

没有答案