Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BonoVox2000

Parâmetros opcionais no Access

Recommended Posts

Prezados, bom dia!

 

Meu problema é o seguinte:

 

tenho um relatório no access que é montado por meio de uma simples consulta, onde o usuário precisa passar três parâmetros por meio de caixas de combinação, no entanto, eu queria que o usuário inserisse um, dois OU três parâmetros, alguem pode me ajuda, por favor????

 

O SQL seria mais ou menos assim, nível bem burro mesmo:

 

 

SELECT *
FROM tab_prop_pauta
WHERE tab_prop_pauta.Distribuído = [Formulários]![FrmMenu]![cc300]
or
tab_prop_pauta.pedidos_rel=[Formulários]![FrmMenu]![Combinação296]
or
tab_prop_pauta.tipo=[Formulários]![FrmMenu]![Combinação317]
Eu não sei nada sobre programação, precisava de um sql.
Desde já, muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que da pra ser feito assim:

 

SELECT *
FROM tab_prop_pauta
WHERE tab_prop_pauta.Distribuído = isnull(Formulários]![FrmMenu]![cc300],tab_prop_pauta.Distribuído)
or
tab_prop_pauta.pedidos_rel=isnull([Formulários]![FrmMenu]![Combinação296],tab_prop_pauta.pedidos_rel)
or
tab_prop_pauta.tipo=isnull([Formulários]![FrmMenu]![Combinação317],tab_prop_pauta.tipo)



ps: a função:

http://office.microsoft.com/pt-br/access-help/funcao-isnull-HA001228867.aspx

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que da pra ser feito assim:

 

SELECT *
FROM tab_prop_pauta
WHERE tab_prop_pauta.Distribuído = isnull(Formulários]![FrmMenu]![cc300],tab_prop_pauta.Distribuído)
or
tab_prop_pauta.pedidos_rel=isnull([Formulários]![FrmMenu]![Combinação296],tab_prop_pauta.pedidos_rel)
or
tab_prop_pauta.tipo=isnull([Formulários]![FrmMenu]![Combinação317],tab_prop_pauta.tipo)


ps: a função:

http://office.microsoft.com/pt-br/access-help/funcao-isnull-HA001228867.aspx

 

[]´s

Obrigado, A. Jr.

 

Deu a seguinte mensagem:

 

Erro de sintaxe na expressão de consulta 'tab_prop_pauta.Distribuído = isnull(Formulários]![FrmMenu]![cc300],tab_prop_pauta.Distribuído)

or

tab_prop_pauta.pedidos_rel=isnull([Formulários]![FrmMenu]![Combinação296],tab_prop_pauta.pedidos_rel)

or

tab_prop_pauta.tipo=isnull([Formulários]![FrmMenu]![Combinação317],tab_prop_pauta.tipo)'

Obrigado, A. Jr.

Deu a seguinte mensagem:

Erro de sintaxe na expressão de consulta 'tab_prop_pauta.Distribuído = isnull(Formulários]![FrmMenu]![cc300],tab_prop_pauta.Distribuído)

or

tab_prop_pauta.pedidos_rel=isnull([Formulários]![FrmMenu]![Combinação296],tab_prop_pauta.pedidos_rel)

or

 

tab_prop_pauta.tipo=isnull([Formulários]![FrmMenu]![Combinação317],tab_prop_pauta.tipo)'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um exemplo da aplicação desta função:

 

http://www.techrepublic.com/article/learn-the-differences-between-is-null-and-isnull-in-access/

 

Eu nao tenho o ACCESS aqui para testar =\

Compartilhar este post


Link para o post
Compartilhar em outros sites

A. Jr., o erro acima foi ocasionado pela ausência de um colchetes no primeiro argumento, depois que eu coloquei, apresentou outro erro:

 

Números incorretos de argumentos usados com a função na expressão de consulta 'tab_prop_pauta.Distribuído = isnull(Formulários]![FrmMenu]![cc300],tab_prop_pauta.Distribuído)

or
tab_prop_pauta.pedidos_rel=isnull([Formulários]![FrmMenu]![Combinação296],tab_prop_pauta.pedidos_rel)
or

tab_prop_pauta.tipo=isnull([Formulários]![FrmMenu]![Combinação317],tab_prop_pauta.tipo)'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi, muito obrigado!!

 

SELECT *

FROM tab_prop_pauta

WHERE tab_prop_pauta.Distribuído = iif(isnull([Formulários]![FrmMenu]![cc300]), tab_prop_pauta.Distribuído, ([Formulários]![FrmMenu]![cc300]))

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.