2013-12-12 2 views
0

쿼리와 하나의 피벗 테이블을 만드는 매크로가 있습니다. 나는 ("Connection2")이 수 2 어떤 변화입니다Connections (i)에 와일드 카드를 추가 할 수 있습니까?

For i = 2 To ThisWorkbook.Connections.Count 
Set qr = ThisWorkbook.Connections("Connection2").ODBCConnection 
    qr.CommandText = iSql 

에 와일드 카드를 추가해야합니다. 번호 대신 와일드 카드를 사용하고 싶습니다.

+0

그건 말이 안 되니? 2를 다른 숫자로 바꿔야합니다. –

답변

1

연결 이름에 와일드 카드를 사용하는 방법을 모르겠습니다. 그러나 당신이 그럴 수 있었다고해도, 특히 어떤 목적으로 그것이 반복적으로 해결 될 수 있습니까? 그것은 항상 당신에게 같은 이름을 줄 것입니다.

대체?

Sub Sample() 
    Dim i As Long 

    For i = 1 To ThisWorkbook.Connections.Count 
     If ThisWorkbook.Connections(i).Name Like "Connection*" Then 
      Set qr = ThisWorkbook.Connections(ThisWorkbook.Connections(i).Name).ODBCConnection 
     End If 
    Next i 
End Sub 

그러나 두 개의 연결이 있다면 내가 말했듯이

Connection1Connection2 말한다. 위의 경우 항상 Connection1이됩니다.

+0

글쎄 고마워! 그것의 일, 나는 약간 시험을해야한다. –

+0

BTW 'LIKE'를 사용하지 않으려면'INSTR()'을 사용할 수도 있습니다. 예를 들어'If Instr (1, ThisWorkbook.Connections (i) .Name, "Connection", vbTextCompare) Then' –

관련 문제