2017-11-06 48 views
0

SQLステートメントに直接配列を渡そうとしています。 MyArray() MyArの代わりにINキーワードの後に​​MyArray()を直接使用することは可能ですか?ADOがSQLステートメントに配列を渡す

Dim MyArray() As String 
MyArray() = Array("YYYY", "BBB") 
MyAr = "'YYYY','BBB'" 
Set shiftrecordset = New ADODB.Recordset 
strSQL1 = "SELECT * FROM assignements where shiftname in (" & MyArr & ")" 
shiftrecordset.Open strSQL1, cn, adOpenKeyset, adLockOptimistic 

答えて

3

これはできません。あなたは代わりにそれを行うための関数を書くことができます。

Private Function MakeIN(sArr() As String) As String 
Dim i As Long 
Dim lUB As Long 

lUB = UBound(sArr) 

For i = LBound(sArr) To lUB 
    MakeIN = MakeIN & "'" & sArr(i) & "'" 
    If i < lUB Then MakeIN = MakeIN & "," 
Next i 
End Function 
関連する問題