|
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
|
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
|
|
|
|
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..... ...
|
|
|
|