2017-11-06 55 views
0

배열을 SQL 문에 직접 전달하려고합니다. MyAr 대신 IN 키워드 뒤에 MyArray()을 직접 사용할 수 있습니까?배열을 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