Fórum Consulta com laço no firebird #37131
26/06/2003
0
dm.importa.First;
While Not dm.Importa.Eof DO
IF (dm.IBClientesCGC.Value)=(dm.IBClientesCGC.Value) then
begin
dm.Importa.Next;
Continue;
end
else
begin
dm.ibClientes.Append;
dm.ibClientes[´Cgc´] := dm.Importa[´CGCD_DSK´];
dm.ibClientes.Post;
dm.Importa.Next;
END;
end;
Agora que uso o Firebird não sei como fazer essa importação de dados usando o filtro que usava no paradox, preciso de ajuda neste caso!
Virus69
Curtir tópico
+ 0Posts
28/06/2003
Afarias
IF (dm.IBClientesCGC.Value)=(dm.IBClientesCGC.Value) then
não é sempre VERDADEIRO??
Não entendi sua questão :S
T+
Gostei + 0
02/07/2003
Virus69
Var i: Integer;
BEGIN
ProgressBar1.Visible:=true;
i := 0;
dm.ibmanifesto.DisableControls;
ProgressBar1.Max := dm.ibManifesto.RecordCount;
dm.ibManifesto.first;
While not dm.ibmanifesto.eof do
if dm.IBClientes.Locate(´CGC´,dm.IBManifestoCGC.AsString,[] ) = TRUE then
Begin
dm.ibManifesto.edit;
dm.ibManifestoPromotor.Value := dm.IBClientesPromotor.Value;
dm.ibManifestoNome.value := Dm.IBClientesNome.value ;
i := i + 1;
ProgressBar1.Position := i;
dm.ibManifesto.post;
dm.ibManifesto.next;
end
Else
Begin
dm.ibManifesto.next;
End;
dm.ibmanifesto.EnableControls;
Dm.ibManifesto.Refresh;
ProgressBar1.Position := 0;
Gostei + 0
02/07/2003
Afarias
huumm... este não é um código ´otimizado´ para Interbase ou qualquer outro ´banco SQL´. Vc tem q receber (no cliente) todos os registros de ambas tabelas envolvidas ... e isso não é bom! más... vá lá... vê se isso funciona:
var
I: Integer;
BEGIN
ProgressBar1.Visible := True;
i := 0;
with dm, ibManifesto do
try
DisableControls;
ProgressBar1.Max := RecordCount;
First;
while not Eof do
begin
if IBClientes.Locate(´CGC´, IBManifestoCGC.AsString, []) then
begin
Edit;
ibManifestoPromotor.Value := IBClientesPromotor.Value;
ibManifestoNome.Value := IBClientesNome.value;
try
Post;
except
// tratamento de erros
end;
end;
Inc(i);
ProgressBar1.Position := i;
Application.ProcessMessages;
Next;
end;
finally
EnableControls;
end;
END;
ProgressBar1.Position := 0;
-- não esquece do controle da transação!
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)