Ir para conteúdo
Fórum Script Brasil
  • 0

Ignorar Parmetros Nulos no VB&


Anderson Angolano

Pergunta

Eu estou fazendo o Meu Projecto Final no Visual Basic 6.0...

Eu tenho duvida como fazer uma intrução em SQL para ignorar texts nulas no Formulario.

Ex: Text1,Text2

Se o usuario preencher so a Text1 o programa ignora na consulta o parametro 2 ou seja Text2 e vice versa. No caso do usuario preencher os dois parametros a consulta verifica os dois parametros na condição....

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Anderson Angolano,

penso que o código abaixo resolve o seu problema. Irá ignorar o text caso não tenha nada informado.

Private Sub cmdConsulta_Click()
  
  ' Exemplo 01

  ' Verifica se parâmetros inteiros
  If Val(Text1) > 0 Then
    MsgBox "Coloca o filtro 1 para consulta aqui!"
  End If
  
  If Val(Text2) > 0 Then
    MsgBox "Coloca o filtro 2 para consulta aqui!"
  End If
  ' Fim parâmetros inteiros.
  
  ' Exemplo 02

  ' Verifica se parâmetros string
  If Trim(Text1) <> Empty Then
    MsgBox "Coloca o filtro 1 para consulta aqui!"
  End If
  
  If Trim(Text2) <> Empty Then
    MsgBox "Coloca o filtro 2 para consulta aqui!"
  End If
  ' Fim parâmetros string.
  
  
End Sub

T+ abraço.

Editado por Crispim
Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado mais não é isso que eu quero. :closedeyes:

Vou explicar detalhadamente. :mellow:<_<

O meu projecto tem 11 Campos, para mim não ter que avaliar todos ifs neste caso seria: Se o Usuario digitar em uma text ou Se o usuario digitar em duas text ou se o Usuario digitar em 3,4,5,6,7,8,9,10,11 text, o codigo seria extenso e levaria muito tempo até eu terminar o projecto. eu quero uma instrução em sql que pesquise simplesmente os campos que não estão vazios.

Andei pesquisando e explicaram-me que dava com a função IIF, e ficaria mais ou menos assim:

EX: RSexemplo.Open "Select * From TB_exemplo Where IIF(Text1.text=empty,Ignora,Pesquisa) And Where IIF(Text1.text=empty,Ignora,Pesquisa)"

mas quando eu faço não vem o resultado esperardo... Agradecia se me derem um jeito... -_-

Link para o comentário
Compartilhar em outros sites

  • 0

o where você poe apenas uma vez. e você tem q saber onde é texto e onde é codigo, não vai tudo dentro da aspa ne.

mas o esquema é você montar o where numa variavel:

Dim filtro As String

filtro = ""

filtro = filtro & IIf(Text1.text = Empty, "", IIf(filtro = "", "Where ", "And ") & "Campo = '" & Text1.Text & "'")
filtro = filtro & IIf(Text2.text = Empty, "", IIf(filtro = "", "Where ", "And ") & "Campo = '" & Text2.Text & "'")
...
filtro = filtro & IIf(Text11.text = Empty, "", IIf(filtro = "", "Where ", "And ") & "Campo = '" & Text11.Text & "'")

RSexemplo.Open "Select * From TB_exemplo " & filtro[/code]

mas isso não é muito diferente do codigo do crispim. inclusive se você fizer com if, o codigo deve ficar mais organizado e ainda evitaria processamento desnecessario.

agora pra simplificar bem o codigo, você pudia fazer com um For Each, ou então você criava um array de textbox e fazia com q cada um dos seus texts fosse um indice dele. ai você simplesmente checava com um For simples.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...