Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Fev 13, 2009 11:00 am Assunto: Dúvida parameters value adoquery |
|
|
Bom dia Amigos
Fiz uma tela de vendas e uso uma select sum para somar os campos de uma dbgrid e também esta select faz um where no codigo de cliente que acaba vinculando as inserções de produtos com o número de cliente
Pois bem, quando vou lá nas propriedades do adoquery e lá em parameters em value digito um numero de cliente percebo que os dados são atualizados só naquele cliente especifico que o que eu quero, assim gostaria de saber como faço para que a adoquery saiba que estou em determinado cliente e só me atualize aquele cliente especifico.
Obs já uso na ADOTABLE o mestre detalhe ligado a tabela clientes o que esta funcionando bem já que quando digito em localizar este me faz um locate e me mostra os dados inseridos naquela compra esoecifica por exemplo: compra nº37 ai me mostra o nome tel do cliente e no dbgrid os items escolhidos só não atualiza o valor total da select sum já que esta esta lá em value com o número do cliente que eu coloquei.Queria que isto funcionasse em run time. |
|
Voltar ao Topo |
|
 |
marcellomm Colaborador

Registrado: Segunda-Feira, 7 de Novembro de 2005 Mensagens: 1045
|
Enviada: Sex Fev 13, 2009 1:12 pm Assunto: |
|
|
Acho eu que o Select teria que mostrar os dados referentes ao Pedido e não ao cliente. Tipo: Seleciono o pedido 37 então ele mostra para quem foi esse pedido e soma (Sum) os itens do pedido 37. Incluindo o Group By.
Ou se você quer saber quais os pedidos foram feitos pelo Cliente João das Couves. Aí mostraria quais os pedidos e quais os itens inclusos em tais pedidos...
Então fica assim:
Citação: |
Pedido:
NrPedido
DataPedido
CodigoCliente
ItensPedido:
NrPedido
CodProduto
Qtd
Uinitario |
+ou- Assim: Código: |
SELECT PEDIDOS.Pedido, PEDIDOS.Data, PEDIDOS.CodCliente, ITENS_PEDIDOS.CodProduto, ITENS_PEDIDO.Qtd, ITENS_PEDIDO.Unitario, ([Qtd]*[Unitario]) AS Total
FROM PRODUTOS INNER JOIN (ITENS_PEDIDO INNER JOIN PEDIDOS ON ALUNOS.CodigoCliente = PEDIDOS.CodigoCliente) ON PRODUTOS.CodProduto = PEDIDOS.CodProduto
WHERE (PEDIDOS.Pedido) =:pPedido
|
Vê ae kra fiz de kbça, acho que assim vai... |
|
Voltar ao Topo |
|
 |
marcellomm Colaborador

Registrado: Segunda-Feira, 7 de Novembro de 2005 Mensagens: 1045
|
Enviada: Sex Fev 13, 2009 1:18 pm Assunto: |
|
|
Há, outra coisa, vc disse que tá usando ADOQuery. Acho que tbm deve estar usando ACCESS. Se for crie a query no proprio ACCESS e verifique o resultado apresentado. Se for o esperado, coloque essa query no modo SQL, copie o código em sql e cole no DELPHI no ADOQuery. |
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Fev 13, 2009 4:24 pm Assunto: |
|
|
Boa tarde amigo.
Então acontece que esta parte esta ok o que acontece é que no adoquery eu simplesmente coloquei um select sum com a opção where e ele esta de fato somando os dados produtos do cliente, mas o que não acontece é o seguinte:
Quando vou inserir outro cliente ou editar um existente ele mantem a soma dos pedidos do cliente anterior e até pq ele faz isto pq na adoquery lá em parameters em Value eu tenho ue especificar um numero e me pede um numero do campo chave que no caso é o codigo de orçamento,
que é um campo autoincremento. Em access ai quando vou colocar outro orçamento este campo value não muda para o numero atual a não ser que eu vá lá no delphi e mude ele em parameters value. É isto
Os dados do cliente que por acaso o numero de orçamento Eu coloque lá em value ele faz certinho menos os outros.. |
|
Voltar ao Topo |
|
 |
marcellomm Colaborador

Registrado: Segunda-Feira, 7 de Novembro de 2005 Mensagens: 1045
|
Enviada: Sex Fev 13, 2009 4:51 pm Assunto: |
|
|
Então você dve fechar a query e limpa-la com os comandos
SQL.Clear;
ADOQuery1.Close;
Pois aí você limpa os parametros. |
|
Voltar ao Topo |
|
 |
|