CommandText - 'select * from VENDAITEM where PedidoID = :PedidoID and ProdutoID = :ProdutoID'
Estou ligando o Detail ao Master através de um DataSource e do DataSetField, do ClientDataSet.
Supondo que eu precise selecionar somente o ProdutoID igual a 10. O valor do parametro :ProdutoID seria enviado a partir do click de um botão, mais ou menos assim:
O problema é que o campo PRODUTOID existe na tabela VENDAITEM mas NÃO EXISTE na tabela VENDAS e, quando tento carregar os campos em sdsVendas, sou informado que o campo PRODUTOID não existe.
Para resolver isso estou usando: cdsVendaItem.Filter := 'PRODUTOID ='+10;
Entretanto, preciso resolver isto na instrução SQL porque a tabela ITEMVENDA tem mais de 1 milhão de registros.
Se eu fizer "SELECT * FROM VENDAITEM WHERE VENDAID = :VENDAID AND PRODUTOID = 10" não dá erro, mas, preciso usar o paramentro, pois, é o usuário quem vai escolher o produto.
Pergunta
coisvaes
Tenho 2 Tabelas, conforme abaixo:
Tabela VENDAS (Master)
PedidoID
CommandText - 'select * from VENDAS'
tabela VENDAITEM (Detail)
PedidoID
ProdutoID
CommandText - 'select * from VENDAITEM where PedidoID = :PedidoID and ProdutoID = :ProdutoID'
Estou ligando o Detail ao Master através de um DataSource e do DataSetField, do ClientDataSet.
Supondo que eu precise selecionar somente o ProdutoID igual a 10. O valor do parametro :ProdutoID seria enviado a partir do click de um botão, mais ou menos assim:
sdsVendaItem.Open;
sdsVendaItem.Params.ParamByName('PRODUTOID').Value := 10;
sdsVendaItem.Open;
O problema é que o campo PRODUTOID existe na tabela VENDAITEM mas NÃO EXISTE na tabela VENDAS e, quando tento carregar os campos em sdsVendas, sou informado que o campo PRODUTOID não existe.
Para resolver isso estou usando: cdsVendaItem.Filter := 'PRODUTOID ='+10;
Entretanto, preciso resolver isto na instrução SQL porque a tabela ITEMVENDA tem mais de 1 milhão de registros.
Se eu fizer "SELECT * FROM VENDAITEM WHERE VENDAID = :VENDAID AND PRODUTOID = 10" não dá erro, mas, preciso usar o paramentro, pois, é o usuário quem vai escolher o produto.
Editado por coisvaesLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.