Ir ao conteúdo
  • Cadastre-se

Visual Basic VBA - Consulta Access via Excel


Posts recomendados

Bom dia,

 

 

Tenho uma planilha onde eu busco e importo dados do access. Eu coloquei algumas celulas do excel como criterios para trazer os dados filtrados.

A planilha funciona bem, sem erros mas preciso melhorar.

Na coluna  "L" por exempo eu colocao o nome da cidade para que filtre por cidade. Na coluna M1 eu coloco a materia.

O problema é que as vezes eu preciso de filtrar mais de uma cidade e materia. Então eu coloco as cidades em outras celulas Tipo.

 

L1 = contagem

L2 = Belo Horizonte

L3 = Ilicinea

 

E para as materias eu faço o mesmo na coluna M. Para acessar esses dados eu uso o seguinte codigo SQL VBA:
  todas as variaveis abaixo eu declaro como STRING     

 

    Materiaa = Range("L1").Value
    Materia1 = Range("L2").Value
    Materia2 = Range("L3").Value
    Materia3 = Range("L4").Value
    Materia4 = Range("L5").Value
    Cidadee = Range("M1").Value
    Cidadee1 = Range("M2").Value

 SQL = "SELECT MaspAdmissao, CodCarreira, Materia, Municipio, UnidadeExercicio, RegionalExercicio, MovimentacaoCodNatureza FROM " _
    & strTable & "   WHERE  (Materia= '" & Materiaa & "' OR Materia= '" & Materia1 & "' OR Materia= '" & Materia2 & "'  )" & _
    " AND (Municipio='" & Cidadee & "' OR Municipio='" & Cidadee1 & "')     "

 

 

Desta forma funciona bem, mas se eu precisar inserir 10 cidades vou precisar criar 10 variáveis para 10 celuas e mais 10 para materias etc..

 

 

Eu queria colocar essas variáveis em um ARRAY  para que ao invés de digitar uma variável para cada celula, essa ARRAY contivesse todos os dados das

celulas. Ficaria mais ou menos assim:

 

Materiaa = Array(Range("L1:L100")

Cidadee   = Array(Range("M1:M100")

 

SQL = "SELECT MaspAdmissao, CodCarreira, Materia, Municipio, UnidadeExercicio, RegionalExercicio, MovimentacaoCodNatureza FROM " _
    & strTable & "   WHERE  Materia= ' Materiaa"   AND (Municipio= Cidadee    "

 

E dessa forma a consulta traria para a minha planilha todas as materias que estivesses entre L1 e L100 e cidades que estão entre M1 e M100..

 

tem alguma forma de fazer isso?  podem me ajudar?

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...