Usando o MS Access 2016 para remover campos específicos de um registro enquanto ainda exibe o conjunto de dados inteiro em uma consulta

0

Eu estou olhando para consultar um conjunto de dados meu no MS Access 2016, onde apenas strings específicas são incluídas na saída da consulta (por favor, dê uma olhada na imagem incluída). Eu estou olhando para incluir todos os campos com seqüências de caracteres que contêm a palavra "rato", "mouse", "stoat" e "possum" das colunas "Pest_com" enquanto todos os outros campos dentro dessas colunas são excluídos.

Normalmente eu teria usado uma junção à esquerda da tabela pai com os operadores subsequentes, mas estou procurando manter todos os registros da tabela. Configurar uma consulta dessa maneira parece filtrar registros que não incluem as sequências que estou procurando. Em vez disso, quero manter todos os registros dentro da consulta e apenas remover os campos que não contêm minhas informações desejadas.

Agradecemos antecipadamente por sua ajuda!

insira a descrição da imagem aqui

    
por Zach 15.01.2018 / 20:59

1 resposta

0

O que eu acho que você quer é mostrar o valor no campo se o valor corresponder à sua lista de testes. Neste caso eu usaria a função IIF. O primeiro parâmetro é um teste lógico no qual você precisa determinar se há uma correspondência. Se estiver, exiba o valor de outra forma, exiba um espaço em branco.

No QBE, você poderia substituir Pest_Com1 pelo abaixo, onde o uso de tbl é o nome da tabela.

Pest_COM1: IIF (tbl.Pest_COM1 LIKE "*rat*" OR tbl.Pest_COM1 LIKE "*mouse*" OR tbl.Pest_COM1 LIKE "*stoat*" OR tbl.Pest_COM1 LIKE "*possum*",tbl.Pest_COM1, "")

Você pode repetir isso apenas para as colunas adicionais. Para algo assim, eu geralmente o colo no bloco de notas e faço uma substituição no nome do campo, depois copio de volta para a consulta, em vez de editar manualmente cada caso.

Se você deseja apenas incluir os campos relevantes, você terá que construir a string SQL no código vba. Você precisará determinar se há valores em cada campo para determinar se deseja incluir. Você pode usar um IIF similar para acima para isso, mas substituir a parte verdadeira (segundo parâmetro) por 1 e parte falsa (terceiro parâmetro) por 0. Em seguida, soma. Se o campo tiver um valor > 0, você deseja incluir o campo. Essa é apenas a parte da consulta.

    
por 24.01.2018 / 17:46