Notifications
Clear all

Inserir parâmetro VBA em uma Array SQL

3 Posts
2 Usuários
0 Reactions
873 Visualizações
(@badchico)
Posts: 35
Eminent Member
Topic starter
 

Caros, preciso de uma ajuda no VBA abaixo, onde tenho a atualização dos dados na planilha atravez de um SELECT na base de dados.
Gostaria que a variável declarada (USUARIO) comandava a parte da pesquisa, ou seja aonde esta a linha: Where USUA_BAL = 'MARCO.PAULO' (receberia a variável USUARIO) mais como faço isso?
10ª linha o código esta:

Dim usuario As String
    Sheets("PLAN1").Select
    Range("B1").Select
    usuario = [A10]
    
    With ActiveWorkbook.Connections("Balancete").OLEDBConnection
        .BackgroundQuery = False
        .CommandText = Array( _
        "SELECT NUME_CONT_FMTD_BAL,MNEM_FILI_BAL,NOME_CONT_BAL,SALD_ANTE_BAL,SINA_ANTE_BAL,MOVI_DEBI_BAL,MOVI_CRED_BAL,MOVIM" _
        , _
        "ENTO_BAL,SALD_ATUA_BAL,SINA_ATUA_BAL" & Chr(13) & "" & Chr(10) & " From dbo.VW_BALANCETE TAB" & Chr(13) & "" & Chr(10) & "  Where USUA_BAL  = 'MARCO.PAULO' " & Chr(13) & "" & Chr(10) & "Order By NUME" _
        , "_CONT_NUME_BAL")
        .CommandType = xlCmdSql
        .Connection = Array( _
        "OLEDB;Provider=SQLOLEDB.1;Password="";Persist Security Info=True;User ID="";Initial Catalog=cnt_001;Data Sourc" _
        , _
        "e=server001;Use Procedure for Prepare=1;Auto Translate=True;Packet SizeBRPW=4096;Workstation ID=DS7052;Use Encryption for Dat" _
        , "a=False;Tag with column collation when possible=False")
        .RefreshOnFileOpen = False
      '  ActiveWorkbook.RefreshAll
        .SavePassword = False
        .SourceConnectionFile = ""
        .SourceDataFile = ""
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False 
End With
    With ActiveWorkbook.Connections("Balancete")
        .Name = "Balancete"
        .Description = "Consulta de Balancete"
    End With
End Sub

Muito obrigado. :geek:

 
Postado : 21/03/2016 1:52 pm
Basole
(@basole)
Posts: 487
Reputable Member
 

Tente desta forma:

Where USUA_BAL = '" & usuario & "'" & Chr(13) & ...

Click em se a resposta foi util!

 
Postado : 21/03/2016 2:32 pm
(@badchico)
Posts: 35
Eminent Member
Topic starter
 

Simplesmente perfeito!
obrigado!

 
Postado : 21/03/2016 2:38 pm