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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  mesma sql retornando erro mudando o crit. de busca
José Ari
MANAUS
AM - BRASIL
ENUNCIADA !
Postada em 12/09/2009 03:34 hs            
e ae pessoal, blz
venho mais uma vez pedir a ajuda de voces, seguinte

tenho uma consulta em que o cliente pede por nome ou por codigo do cliente, está assim:

If optBuscaNome.Value = True Then
'Busca por nome
sSQL = "SELECT P.Cod, P.CodVenda, P.Data, P.hora, P.CodCliente, P.Quantidade, P.Produto, P.SubTotal, P.Total, P.TaxaEntrega, C.Codigo, C.Nome, C.Endereco, C.Bairro, C.DDD, C.Telefone FROM ( Clientes C INNER JOIN Pedidos P ON C.Codigo = P.CodCliente ) WHERE C.Nome = '" & lstBuscaClientes.Text & "' AND Data = #" & Format(txtData.Text, "m/d/yyyy") & "# ORDER BY P.Hora"

Else
'Busca por codigo do cliente
sSQL = "SELECT P.Cod, P.CodVenda, P.Data, P.hora, P.CodCliente, P.Quantidade, P.Produto, P.SubTotal, P.Total, C.TaxaEntrega, C.Codigo, C.Nome, C.Endereco, C.Bairro, C.DDD, C.Telefone FROM ( Clientes C INNER JOIN Pedidos P ON C.Codigo = P.CodCliente ) WHERE  CodCliente = " & Val(lstBuscaClientes.Text) & " AND Data = #" & Format(txtData.Text, "m/d/yyyy") & "# ORDER BY P.Hora"

End If


quando faço a consulta por nome, ela roda beleza, mas quando faz por CodCliente me retorna esse erro:  "Nenhum valor fornecido para um ou mais parametros necessários"

Mudei a forma de conectar com o Banco e deu esse outro erro: "Parâmetros insuficientes. Eram esperados 1"

mas eu analisei e reanalizei a sql, e está da mesma forma que a outra... só muda a consulta por nome ou por codigo do cliente.......

alguem me dá uma forcinha ae.... hehe
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 12/09/2009 12:13 hs            
Vamos primeiro tirar algumas duvidas.
 
reparei que, na query está assim
 
WHERE  CodCliente = " & Val(lstBuscaClientes.Text) & " AND Data = #" & Format(txtData.Text, "m/d/yyyy") & "# ORDER BY P.Hora"
 
o certo não seria P.CodCliente, ou C.CodCliente?
 
Outra coisa qual o tipo do campo codcliente se for do tipo numero, vc pode tentar usar o cint, ao invés de Val, se for do tipo longo Então use CDbl
 
exemplo
CInt(lstBuscaClientes.Text)
ou
CDbl(lstBuscaClientes.Text)
 
o Val funciona da seguinte maneira:
 
 
Veja esta parte e diga se funciona
 
   
José Ari
MANAUS
AM - BRASIL
ENUNCIADA !
Postada em 12/09/2009 18:27 hs            
Obrigado Treze, pela dica, já tinha tentado isso tambem e continuava o erro.

entao fui no Banco mesmo e naquele assistente de consulta, fiz umas alteracoes e ele me retornou uma Sql e entao ficou assim:

sSQL = "SELECT P.cod, P.CodVenda, P.data, P.hora, P.CodCliente, P.Quantidade, P.Produto, P.SubTotal, P.Total, P.TaxaEntrega, C.Codigo, C.Nome, C.Endereco, C.Bairro, C.DDD, C.Telefone FROM Clientes AS C INNER JOIN Pedidos AS P ON C.Codigo = P.CodCliente Where (((P.Data) = #" & Format(txtData.Text, "m/d/yyyy") & "#) And ((C.Codigo) = " & Val(lstBuscaClientes.Text) & ")) ORDER BY P.hora;"

agora deu certo..... ...
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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