Bom dia, Srs.
Gostaria de uma ajuda, eu tenho a estrutura que exporta um select com as colunas fixa que seria algo assim:
# Parte da Conexão
With cnt
If Val(Application.Version) < 12 Then
.Provider = "Microsoft.Jet.OLEDB.4.0"
Else
.Provider = "Microsoft.ACE.OLEDB.12.0"
End If
' ABRE CAIXA PARA SELECIONAR O ARQUIVO
.Open importFileName
End With
# Parte do SQL que exporta para a Plan
' DADOS DE CONSULTA DA TABELA CHUVA - SEM COLUNAS NOVAS
strSql = ""
strSql = strSql & "SELECT QualAgua.RegistroID, QualAgua.EstacaoCodigo, QualAgua.Data, "
strSql = strSql & "QualAguaStatus." & UserFormColunasVariaveis.vNomeColunaLigacao & " As Total, QualAgua." & UserFormColunasVariaveis.vNomeColuna & " As TotalSomado "
strSql = strSql & "FROM ((((((Estacao INNER JOIN Estado ON Estacao.EstadoCodigo = Estado.Codigo) "
strSql = strSql & "INNER JOIN Entidade ON Estacao.OperadoraCodigo = Entidade.Codigo) "
strSql = strSql & "INNER JOIN Bacia ON Estacao.BaciaCodigo = Bacia.Codigo) "
strSql = strSql & "INNER JOIN SubBacia ON Estacao.SubBaciaCodigo = SubBacia.Codigo) "
strSql = strSql & "INNER JOIN Municipio ON Estacao.MunicipioCodigo = Municipio.Codigo) "
strSql = strSql & "INNER JOIN QualAgua ON Estacao.Codigo = QualAgua.EstacaoCodigo) "
strSql = strSql & "INNER JOIN QualAguaStatus ON QualAgua.RegistroID = QualAguaStatus.RegistroID "
strSql = strSql & "WHERE (QualAgua.EstacaoCodigo in (" & strParam & ") "
strSql = strSql & "AND QualAgua." & UserFormColunasVariaveis.vNomeColuna & " IS NOT NULL "
strSql = strSql & "ORDER BY QualAgua.Data ASC"
' ABRE RECORDSET COM A INTRUCAO SQL
rst.Open strSql, cnt
' VERIFICA SE A ESTACAO SOLICITADA EXISTE
If rst.EOF And rst.BOF Then
' MENSAGEM DE ALERTA DO SISTEMA
MsgBox "Estação não foi encontrada.", vbCritical, "Atenção"
Else
' LOOPS DE TODAS AS LINHAS PARA INSERRI-LAS NA FOLHA
rowNum = 9
Do While Not rst.EOF
Plan2.Range("B" & rowNum).Value = rst![RegistroID]
Plan2.Range("C" & rowNum).Value = rowNum - 8
Plan2.Range("D" & rowNum).Value = rst![EstacaoCodigo]
Plan2.Range("E" & rowNum).Value = rst![Data]
Plan2.Range("F" & rowNum).Value = rst![Total]
Plan2.Range("F" & rowNum).Value = rst![TotalSomado]
rst.MoveNext
Loop
End if
Agora vem o detalhe o meu SQL será dinâmico hora terá 6 colunas como poderá ter até 100 colunas, nesse momento que não consegui montar a exportação dinâmica, e gostaria de uma ajuda dos colega.
Toda e qualquer ideia sempre é bem vinda.
Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.
Postado : 24/02/2017 7:01 am