USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Busca com dois forms não funciona
JR
JABOTICABAL
SP - BRASIL
Postada em 16/12/2004 09:54 hs            
Galera, estou tentando fazer o seguinte:
Quando eu clico no botão Pesquisar do form cadastro, aparece um pequeno form (frmEscolha), com um textbox onde eu devo informar a nome ou código para a busca, e dois optionbutton, onde devo selecionar se procuro pelo nome ou código.
O parametro está sendo passado, mas quando o sistema chega no do while abaixo, ele pára. Alguém poderia me ajudar?  Segue abaixo o código...
 
    If optCodigo.Value = True Then
        Parametro = "Codigo"
    Else
        Parametro = "Razao_Social"
    End If
Pesquisa = txtEscolha
If rs.State = 1 Then
   rs.Close
End If
  rs.CursorLocation = adUseClient
  rs.Open "select * from Clientes Where '" & Parametro & "' Like '%" & Pesquisa & "%'", DB, adOpenStatic, adLockOptimistic
    Do While Not rs.EOF
               frmCadastro.txtCodigo.Text = rs.Fields(0)
               frmCadastro.txtRazao.Text = rs.Fields(1)
               frmCadastro.txtFantasia.Text = rs.Fields(2)
               frmCadastro.txtCNPJ.Text = rs.Fields(3)
               frmCadastro.txtIE.Text = rs.Fields(4)
               frmCadastro.txtEndereco.Text = rs.Fields(5)
               frmCadastro.txtCidade.Text = rs.Fields(6)
               frmCadastro.txtBairro.Text = rs.Fields(7)
               frmCadastro.txtFone.Text = rs.Fields(8)
               frmCadastro.txtFax.Text = rs.Fields(9)
               frmCadastro.txtCelular.Text = rs.Fields(10)
               frmCadastro.txtContato = rs.Fields(11)
               frmCadastro.txtPrazo.Text = rs.Fields(12)
               frmCadastro.txtLimite.Text = rs.Fields(13)
               'txtAtivo.Text = rs.Fields(14)
        rs.MoveNext
    Loop
   Exit Sub
  If rs.EOF Then
       MsgBox "Não encontrei o Nome " & Pesquisa
Exit Sub
   End If
 Unload Me
 
 
Abraços...
 
Junior Mascioli
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 16/12/2004 10:29 hs            
Ttente mudar a pesquisa para:
 rs.Open "select * from Clientes Where " & Parametro & " Like '" & Pesquisa & "*'", DB, adOpenStatic, adLockOptimistic
 
Outra coisa, não é necessário fechar o recordset para fazer esta pesquisa. Vc pode usar a propriedade Filter do seu recordset mas eu não sei se no seu sistema é possível. Vc apenas colocaria assim:
 
 If optCodigo.Value = True Then
        Parametro = "Codigo"
    Else
        Parametro = "Razao_Social"
    End If
Pesquisa = txtEscolha
rs.filter = Parametro & " Like '" & Pesquisa & "*'"
 
considerando parametro nome do campo a ser pesquisado.
Para retirar o filtro:
rs.filter = 0
rs.requery
 
Qq dúvida é só postar novamente
 
t+
     
JR
JABOTICABAL
SP - BRASIL
Postada em 16/12/2004 16:58 hs            
Tentei substituir a pesquisa para a que vc me passou, mas ainda não consegui.
Quanto à propriedade filter, não a conheço.
 
 
Abraços...
 
 
Junior Mascioli
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 16/12/2004 17:37 hs            
Qual problema q ocorre? Eu fiz um exemplo mas se por exemplo o campo codigo for numerico então vc tem q tirar as aspas simples e o asterisco pois servem para campos tipo texto. Ficaria assim:
 
rs.Open "select * from Clientes Where " & Parametro & " Like " & Pesquisa , DB, adOpenStatic, adLockOptimistic
 
A propriedade filter serve para consultar uma gama de dados. Tem algumas limitações porém é muito útil e vc não precisa fechar e abrir o recordset toda hora.
 
Se eu não me engano o filter suporta: <,>,>=,<=,<>,and, or, Like, *,%
mais informações no ADO210.chm
 
procure em: "C:Arquivos de programasArquivos comunsMicrosoft SharedOffice101046ADO210.CHM"
 
veja se vc tem. Caso dê problema, por favor coloque a linha do problema e o tipo.
 
obrigado
 
qq dúvida é só postar novamente
 
t+
   
Mateus
AMADORA
PT - PORTUGAL
Postada em 17/12/2004 12:41 hs            
Tente substituir:
 
Do While Not rs.EOF
               frmCadastro.txtCodigo.Text = rs.Fields(0)
               frmCadastro.txtRazao.Text = rs.Fields(1)
               frmCadastro.txtFantasia.Text = rs.Fields(2)
               frmCadastro.txtCNPJ.Text = rs.Fields(3)
               frmCadastro.txtIE.Text = rs.Fields(4)
               frmCadastro.txtEndereco.Text = rs.Fields(5)
               frmCadastro.txtCidade.Text = rs.Fields(6)
               frmCadastro.txtBairro.Text = rs.Fields(7)
               frmCadastro.txtFone.Text = rs.Fields(8)
               frmCadastro.txtFax.Text = rs.Fields(9)
               frmCadastro.txtCelular.Text = rs.Fields(10)
               frmCadastro.txtContato = rs.Fields(11)
               frmCadastro.txtPrazo.Text = rs.Fields(12)
               frmCadastro.txtLimite.Text = rs.Fields(13)
               'txtAtivo.Text = rs.Fields(14)
        rs.MoveNext
    Loop
   Exit Sub
  If rs.EOF Then
       MsgBox "Não encontrei o Nome " & Pesquisa
Exit Sub
   End If
 Unload Me
 
por:
 
rst.MoveMin
Do While Not rs.EOF
               frmCadastro.txtCodigo.Text = rs.Fields(0)
               frmCadastro.txtRazao.Text = rs.Fields(1)
               frmCadastro.txtFantasia.Text = rs.Fields(2)
               frmCadastro.txtCNPJ.Text = rs.Fields(3)
               frmCadastro.txtIE.Text = rs.Fields(4)
               frmCadastro.txtEndereco.Text = rs.Fields(5)
               frmCadastro.txtCidade.Text = rs.Fields(6)
               frmCadastro.txtBairro.Text = rs.Fields(7)
               frmCadastro.txtFone.Text = rs.Fields(8)
               frmCadastro.txtFax.Text = rs.Fields(9)
               frmCadastro.txtCelular.Text = rs.Fields(10)
               frmCadastro.txtContato = rs.Fields(11)
               frmCadastro.txtPrazo.Text = rs.Fields(12)
               frmCadastro.txtLimite.Text = rs.Fields(13)
               'txtAtivo.Text = rs.Fields(14)
        rs.MoveNext
    Loop
   Exit Sub
  If rs.EOF Then
       MsgBox "Não encontrei o Nome " & Pesquisa
Exit Sub
   End If
 Unload Me
 
É que ele criou a recordset mas ainda não "entrou" nela.

João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

     
Mateus
AMADORA
PT - PORTUGAL
ENUNCIADA !
Postada em 17/12/2004 12:45 hs            
O que faltava era, de facto:
rs.MoveMin
 
 

João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página