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.
Question
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.
Edited by coisvaesLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.