none
Como posso fazer para os parâmetros FROM, DBQ e DefaultDir serem atualizados com os valores de uma variável ou célula RRS feed

  • Discussão Geral

  • Boa tarde Pessoal,

    Estou precisando de uma ajuda para que eu possa fazer com que os parâmetros FROM, DBQ e DefaultDir sejam atualizados com os valores de uma variável ou célula, segue o exemplo do VBA criado porém, não consigo de forma alguma fazer com que ele pegue os parâmetros das variáveis que foram definidas no inicio da Macro.

    Deixei em destaques os campos que preciso que sejam substituídos

    Sub teste()
    '
    Dim LocalArquivo As String
    Dim CompletoArquivo As String

    LocalArquivo = "C:\Banco_de_Dados_SGX"
    CompletoArquivo = "C:\Banco_de_Dados_SGX\Dados_Funcionarios.xlsb"

        With ActiveWorkbook.Connections("Consulta de Dados_Funcionários_xlsb1"). _
            ODBCConnection
            .BackgroundQuery = True
            .CommandText = Array( _
            "SELECT `Cargos_Salarios$`.`Cod-CPF`, `Cargos_Salarios$`.Alterou, `Cargos_Salarios$`.Funcao, `Cargos_Salarios$`.Sala" _
            , _
            "rio, `Cargos_Salarios$`.`Funcao Anterior`, `Cargos_Salarios$`.`Salario Anterior`, `Cargos_Salarios$`.`Data da Inclu" _
            , _
            "são`, `Cargos_Salarios$`.`Resp Inclusão`, `Cargos_Salarios$`.`DP Finalizou`, `Cargos_Salarios$`.`OBS DP`, `Cargos_S" _
            , _
            "alarios$`.`Data DP`, `Cargos_Salarios$`.`Resp DP`, `Cargos_Salarios$`.`Campo Vago`, `Cargos_Salarios$`.`Beneficios " _
            , _
            "Finalizou`, `Cargos_Salarios$`.`OBS Beneficios`, `Cargos_Salarios$`.`Data Beneficios`, `Cargos_Salarios$`.`Resp Ben" _
            , _
            "eficios`, `Cargos_Salarios$`.`Campo Vago1`, `Cargos_Salarios$`.`Compras Finalizou`, `Cargos_Salarios$`.`OBS Compras" _
            , _
            "`, `Cargos_Salarios$`.`Data Compras`, `Cargos_Salarios$`.`Resp Compras`" & Chr(13) & "" & Chr(10) & "FROM `C:\Banco_de_Dados_SGX\Dados_Funcionarios.xlsb`.`Cargos_Salarios$` `Cargos_Salarios$`")
            .CommandType = xlCmdSql
            .Connection = Array(Array( _
            "ODBC;DBQ=C:\Banco_de_Dados_SGX\Dados_Funcionarios.xlsb;DefaultDir=C:\Banco_de_Dados_SGX;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}" _
            ), Array(";DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;MaxScanRows=4;PageTimeout=5;ReadOnly=1;SafeTransactions=0;T" _
            ), Array("hreads=3;UserCommitSync=Yes;"))
            .RefreshOnFileOpen = False
            .SavePassword = False
            .SourceConnectionFile = ""
            .SourceDataFile = ""
            .ServerCredentialsMethod = xlCredentialsMethodIntegrated
            .AlwaysUseConnectionFile = False
        End With
        With ActiveWorkbook.Connections("Consulta de Dados_Funcionários_xlsb1")
            .Name = "Consulta de Dados_Funcionários_xlsb1"
            .Description = ""
        End With
        'ActiveWorkbook.Connections("Consulta de Dados_Funcionários_xlsb1").Refresh
    End Sub

    Desde já agradeço pela ajuda!

    Ricardo Barreto

    quinta-feira, 21 de fevereiro de 2019 19:54