Problemas com Pesquisa!
Tenho três tabelas que formam minha venda:
Tabela 1
Orcto
Numero - Integer
DataOrcto - Varchar
CodCli - Varchar
Cliente - Varchar
Tabela 2
PagtoOrcto
Codigo - Integer
NumOrcto - Integer
Data - Varchar
Valor - Varchar
TipoPagto - Varchar
Tabela 3
ItemOrcto
Codigo - Integer
NumOrc - Integer
Item - Varchar
Medida - Varchar
Qtde - Integer
Preciso realizar uma pesquisa de Pagamentos Pendentes por Cliente e por Período, ou seja, preciso casar as informações da tabela 2 e tabela 1 e ainda mostrar os itens referente(Os Itens é fácil, mas os pendentes é q está me dando trabalho:
Revendo a questão, para cada Venda vários pagamentos, 1xn
tenho q filtrar a tabela pagamento por período, porém relacionadas a apenas um cliente, sendo q a informação do cliente está na tabela de Orçamento, tentei de várias formas e não consegui obter o resultado que preciso, lembrando que, tenho já montada a pesquisa por período que funciona perfeitamente, apenas preciso de uma ajuda para casar as duas informações.
Agradeço Antecipadamente!
Tabela 1
Orcto
Numero - Integer
DataOrcto - Varchar
CodCli - Varchar
Cliente - Varchar
Tabela 2
PagtoOrcto
Codigo - Integer
NumOrcto - Integer
Data - Varchar
Valor - Varchar
TipoPagto - Varchar
Tabela 3
ItemOrcto
Codigo - Integer
NumOrc - Integer
Item - Varchar
Medida - Varchar
Qtde - Integer
Preciso realizar uma pesquisa de Pagamentos Pendentes por Cliente e por Período, ou seja, preciso casar as informações da tabela 2 e tabela 1 e ainda mostrar os itens referente(Os Itens é fácil, mas os pendentes é q está me dando trabalho:
Revendo a questão, para cada Venda vários pagamentos, 1xn
tenho q filtrar a tabela pagamento por período, porém relacionadas a apenas um cliente, sendo q a informação do cliente está na tabela de Orçamento, tentei de várias formas e não consegui obter o resultado que preciso, lembrando que, tenho já montada a pesquisa por período que funciona perfeitamente, apenas preciso de uma ajuda para casar as duas informações.
Agradeço Antecipadamente!
Tatiane.interart
Curtidas 0
Respostas
Pestana_
12/05/2008
como é que você sabe quais são os pagamentos que estão pendentes?
flw.
flw.
GOSTEI 0
Tatiane.interart
12/05/2008
Bem, quando os pagamentos de parcelas são efeituados eles são excluídos da tela e incluídos no caixa, portanto, apenas fica em visualização os pagamentos que ainda não foram efetuados.
GOSTEI 0
Mahdak
12/05/2008
SELECT A.Codigo as CodPagto, A.NumOrcto as NumOrcPatgo, A.Data as DataPagto, A.Valor as ValorPagto, A.TipoPagto asTipoPagto, B.DataOrcto as dataOrcto, B.CodCli as CodCli, B.Cliente As Cliente, C.NumOrc as NumOrcItem, C.Item as Item, C.Medida as Medida, C.Qtde as Qtdade FROM Orcto A, PagtoOrcto B, ItemOrcto C WHERE (C.NumOrc = A.Numero ) and (B.NumOrcto = A.Numero ) and (A.DataOrcto = :DataOrcto) and A.Cliente like :Cliente
voce pode usar algo tipo a sql acima em um sqlDataSet, provider, clientdataset, e datasource no seu formulario coloque dois edits um botao e um dbgrid ligado ao datasource.
adicione os Tfields no sqlDataSet, os TFields e parametros no ClientDataSet
no OnClick do botao fassa:
with ClientDataSet do
begin
close;
params[0].asstring := editDATA.text;
params[1].asstring := editCLIENTE.text;
open;
end;
creio que algo desse tipo poderia lhe ajudar, porém se voce tiver um tempinho, de uma procurada em como criar aplicaçoes mestre / detalhe, que voce irá descomplicar tudo isso....
abraços!
GOSTEI 0
Tatiane.interart
12/05/2008
Pois é, Mahdak essa sua opção parece muito boa, mas creia-me já havia tentado algo assim e não obtive o resultado esperado, tentei fazer similar ao relatório mestre-detalhe que é também mto parecido com esse seu código SQL, mas também não funcionou, quando consigo o período vem referente a todos os pagamentos cadastrados dentro deste período e não filtra por cliente e quando consigo por cliente, traz todos os orçamentos relacionados a este cliente independente de data de vencimento.
Ressalto até q tentei várias formas de pesquisa e não consegui sucesso em nenhuma delas! Se alguém puder me dar uma luz em relação a isso, agradeço!
Ressalto até q tentei várias formas de pesquisa e não consegui sucesso em nenhuma delas! Se alguém puder me dar uma luz em relação a isso, agradeço!
GOSTEI 0
Mahdak
12/05/2008
qual o banco que vc usa? firebird?
quais os componentes de acesso ao banco? dbx?
voce relaciona os campos de chave estrangeira?
minha sugestao é voce reformular a estrutura de suas tabelas para que se enquadrem em uma aplicação master detail... acredite, passei por problemas a algum tempo, e a melhor soluçao que encontrei foi desenvolver dentro do conceito de mestre / detalhe.
para começar eis um artigo: http://www.firebase.com.br/fb/artigo.php?id=299
procure na internet ou aqui no forum mesmo, se voce tem acesso a video aulas da dev media, se nao me engano tem uma do everson volaco muito boa, que da mastigado como fazer o negócio...
boa sorte, e bons estudos!
abraços!
quais os componentes de acesso ao banco? dbx?
voce relaciona os campos de chave estrangeira?
minha sugestao é voce reformular a estrutura de suas tabelas para que se enquadrem em uma aplicação master detail... acredite, passei por problemas a algum tempo, e a melhor soluçao que encontrei foi desenvolver dentro do conceito de mestre / detalhe.
para começar eis um artigo: http://www.firebase.com.br/fb/artigo.php?id=299
procure na internet ou aqui no forum mesmo, se voce tem acesso a video aulas da dev media, se nao me engano tem uma do everson volaco muito boa, que da mastigado como fazer o negócio...
boa sorte, e bons estudos!
abraços!
GOSTEI 0
Tatiane.interart
12/05/2008
É resolvi seguir seu conselho e redimensionar minha tabela, consegui fazer o que precisava sem muita dor de cabeça!
Valeu a dica
Valeu a dica
GOSTEI 0