Dim variavel
Sub Importar_do_Access()
Plan2.Select
Plan2.Range("A2").Select
Set Rst = New ADODB.Recordset
Call Conecta
' A LINHA ABAIXO TRAZ APENAS A CONDICIONAL FIXA, OU SEJA, OS LOTES 389-2015. PRECISO QUE O NUMERO DO LOTE SEJA ARMAZENADO NUMA_
'VARIÁVEL DE FORMA QUE FIQUE DINAMICA. QUANDO EU ALTERAR O LOTE NA PLAN2.RANGE(I1) A CLAUSULA WHERE DEVE CONSIDERAR A NOVA CONDICIONAL.
variavel = Plan2.Range("A2")
Rst.Open "SELECT * FROM Base Where Lote='" & variavel & "'", Conexao, adOpenKeyset, adLockOptimistic, adCmdText
' TENTEI O SEGUINTE CODIGO MAS NÃO DEU CERTO.
'var = Cells(1, 9).Value
'Rst.Open "SELECT * FROM Base Where Lote = Var", Conexao, adOpenKeyset, adLockOptimistic, adCmdText
While Not Rst.EOF
Linha = ActiveCell.Row
With Rst
Plan2.Cells(Linha, 1) = .Fields("Lote")
Plan2.Cells(Linha, 2) = .Fields("Fornecido (kg)")
Plan2.Cells(Linha, 3) = .Fields("Previsto (kg)")
Plan2.Cells(Linha, 4) = .Fields("Desvio (kg)")
Plan2.Cells(Linha, 5) = .Fields("Desvio (%)")
'Se houver erro
On Error Resume Next
End With
Rst.MoveNext
ActiveCell.Offset(1, 0).Select
Wend
Call Desconectar
Exit Sub
End Sub
Postado : 18/04/2016 7:02 am