MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Passar o código de consulta para a próxima tabela conforme variável

    Compartilhe

    tiagozms
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/04/2017

    [Resolvido]Passar o código de consulta para a próxima tabela conforme variável

    Mensagem  tiagozms em 13/4/2017, 01:12

    Estou com um problema que vem me tirando o sono.
    Eu tenho duas tabelas no meu BD cujos nomes são: tb_ci2017 e tb_ci2018.
    No formulário principal tenho:
    textbox1, ComboBox1, Label1 e listview1

    FUNCIONAMENTO: Tudo que eu digito na textbox1 é consultado na tb_ci2017 e exibido na listview, mas eu gostaria de poder escolher o ano a ser consultado. Já vi algumas dúvidas parecidas aqui no forum mas não tratava de tabelas distintas.

    A ComboBox1 seleciona o ano que irei consultar. A Label1 recebe o valor do ano e passa esse valor para uma variável global conforme código abaixo:

    Global VarAno As String
    VarAno = frm_principal.Label1.Caption

    PRIMEIRO CASO - FUNCIONANDO:
    O código abaixo, responsável por atualizar a ListView1 ao iniciar o formulário, está funcionando certinho e acessa a tabela correspondente ao ano selecionado.
    strSql = "SELECT * FROM tb_ci" & VarAno

    SEGUNDO CASO - PROBLEMA

    O código abaixo está dentro da textbox1 e pesquisa dentro dos campos "número" e "assunto" e filtra a medida que se digita:

    ComandoSQL = "SELECT * FROM tb_ci2017 where Numero like '*" & valor_pesq & "*' or Assunto like '*" & valor_pesq & "*' "

    Mas preciso que após o FROM, o ano da tabela seja assumido pela variável VarAno conforme no PRIMEIRO CASO que mostrei acima. mas sempre me deparo com erro de sintaxe.

    Agradeço quem poder me ajudar.
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    Re: [Resolvido]Passar o código de consulta para a próxima tabela conforme variável

    Mensagem  philipp.moreira em 13/4/2017, 03:00

    Boa noite!

    Tente assim:

    Código:

    ComandoSQL = "SELECT * FROM tb_ci" & VarAno &" WHERE Numero LIKE '*" & valor_pesq & "*' OR Assunto LIKE '*" & valor_pesq & "*' "

    tiagozms
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/04/2017

    RESOLVIDO

    Mensagem  tiagozms em 13/4/2017, 07:24

    Analisando códigos de outros sistemas, encontrei a solução. O código ficou assim:

    ComandoSQL = "SELECT * FROM tb_ci" & VarAno
    ComandoSQL = ComandoSQL & " where Numero like '*" & valor_pesq & "*' or Assunto like '*" & valor_pesq & "*' "

    Funciona perfeitamente!

      Data/hora atual: 14/11/2018, 11:50