Fórum SQL Detalhe X Mestre #255728

23/10/2004

0

Olá a todos.
Estou com problemas para montar uma SQL que liste informações de uma ordem de serviço, uso Paradox.
Tenho CadOrdem-> Cad. Ordem de Serviço (Mestre), e CadItem->Cad. de Itens da Ordem de Serviço (Detalhe).
Em CadOrdem temos seu número, data, nome do vendedor e nome do cliente.
Chamaremos de A.(CadOrdem) e B.(CadItem).
Cada registro do CadItem tem entre outros dados um campo data de entrega do produto (cada item é entregue em datas diferentes).
Consegui listar todos os itens de cada ordem de serviço ordenados pelo numero da Ordem. Mas preciso listar todos os itens ordenados por data de entrega e não estou conseguindo. A lista sai ordenada por data mas sem o nome do cliente e nome do vendedor que estão no CadOrdem,

** Com o código abaixo a lista sai ordenada por ordem de serviço
mas preciso listar por data de entrega que fica em CadItem (Detalhe),
e tenho que mostrar o nome do cliente e vendedor a cada item listado.

Dtm.QryPfa.Active := true;
Dtm.QryPfa.Close;
Dtm.QryPfa.Sql.Clear;
Dtm.QryPfa.Sql.Add(´Select * From CadOrdem A´);
Dtm.QryPfa.Sql.Add(´Where (A.Pfg_Cod >= :CodI)´);
Dtm.QryPfa.Sql.Add(´And (A.Pfg_Cod <= :CodF)´);
Dtm.QryPfa.Parambyname(´CodI´).AsString := FrR1200.EdtPfaIni.Text;
Dtm.QryPfa.Parambyname(´CodF´).AsString := FrR1200.EdtPfaFim.Text;
Dtm.QryPfa.Open;

Dtm.QryPfa_Det.Active := True;
Dtm.QryPfa_Det.Close;
Dtm.QryPfa_Det.Sql.Clear;
Dtm.QryPfa_Det.Sql.Add(´Select * From CadItem B´);
Dtm.QryPfa_Det.Sql.Add(´Where B.Pfg_Cod = :Pfg_Cod´);
Dtm.QryPfa_Det.Sql.Add(´And (B.Pfd_DataEntrega >= :DataI)´);
Dtm.QryPfa_Det.Sql.Add(´And (B.Pfd_DataEntrega <= :DataF)´);
Dtm.QryPfa_Det.Sql.Add(´And (B.Pfg_Cod >= :CodI)´);
Dtm.QryPfa_Det.Sql.Add(´And (B.Pfg_Cod <= :CodF) Order By B.Pfd_DataEntrega´);
Dtm.QryPfa_Det.Parambyname(´DataI´).Value := StrToDate(FrR1200.EdtDtIni.Text);
Dtm.QryPfa_Det.Parambyname(´DataF´).Value := StrToDate(FrR1200.EdtDtFim.Text);
Dtm.QryPfa_Det.Parambyname(´CodI´).AsString := FrR1200.EdtPfaIni.Text;
Dtm.QryPfa_Det.Parambyname(´CodF´).AsString := FrR1200.EdtPfaFim.Text;
DtmDados.QryPfa_Det.Open;

Muito Obrigado
Neto


Neto

Neto

Responder

Posts

24/10/2004

Edilcimar

que tal colocar antes do open
order by nome do campodesejado


Responder

Gostei + 0

25/10/2004

Neto

Já coloquei order by, na tabela detalhe mas roda ordenado pelo numero.

Neto


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar