Fórum Utilizar IF para pesquisar datas #147407

19/03/2003

0

Olá Pessoal

Gostaria que vcs me dessem uma ajudinha. Tenho uma tabela cadastro e outra tabela Aniversariantes. Gostaria que ao dar um clique no botao, fosse feita uma copia de registros, da tabela de cadastro para a tabela de aniversariantes, onde ambas contem os mesmos campos, [b:5c4672ec04]só que eu gostaria q só fosse copiados os registros dos aniversariantes do dia[/b:5c4672ec04]. Como faço isso?

Banco: DBF
Delphi: 6.0

Eu já tentei isso:

VAR
I: WORD;
ano, anoh, dia, diah, mes, mesh: word;
Begin
with QR_Func do
begin
filtered := true;
first;
While not QR_Func.Eof do
begin
decodedate(FieldByName(´NASC´).AsDateTime,mes,dia,ano);
decodedate(date,mesh,diah, anoh);
if (dia = diah) and (mes = mesh) then
begin
QR_Aniver.Append;
for I := 0 to QR_Aniver.FieldCount - 1 do
Begin
QR_Aniver.FieldByName(´MS´).Value := QR_Func.fieldbyname(´MS´).Value;
QR_Aniver.FieldByName(´NASC´).AsDateTime := QR_Func.fieldbyname(´NASC´).AsDateTime;
QR_Aniver.FieldByName(´NOME´).AsString := QR_Func.fieldbyname(´NOME´).AsString;
QR_Aniver.FieldByName(´TD´).Value := QR_Func.fieldbyname(´TD´).Value;
QR_Aniver.FieldByName(´END´).AsString := QR_Func.fieldbyname(´END´).AsString;
QR_Aniver.FieldByName(´BAIRRO´).AsString := QR_Func.fieldbyname(´BAIRRO´).AsString;
QR_Aniver.FieldByName(´CIDADE´).AsString := QR_Func.fieldbyname(´CIDADE´).AsString;
QR_Aniver.FieldByName(´EST´).AsString := QR_Func.fieldbyname(´EST´).AsString;
QR_Aniver.FieldByName(´CEP´).Value := QR_Func.fieldbyname(´CEP´).Value;
QR_Aniver.FieldByName(´TELRES´).Value := QR_Func.fieldbyname(´TEL´).Value;
QR_Aniver.FieldByName(´TELCOM´).Value := QR_Func.fieldbyname(´TELC´).Value;
QR_Aniver.FieldByName(´TELCEL´).Value := QR_Func.fieldbyname(´TELCEL´).Value;
QR_Aniver.FieldByName(´EMAIL´).AsString := QR_Func.fieldbyname(´EMAIL´).AsString;
QR_Aniver.Post;
QR_Func.Next;
end;
END;
Application.MessageBox(´Transferência bem Sucedida!!!´, ´´, MB_ICONINFORMATION);
END;

Só que está dando erro. Eu nao sei mais o q faço.

Se alguem pudesse me ajudar. Obrigado

Vivian


Viviankb

Viviankb

Responder

Posts

19/03/2003

Everton

Remova as linhas em vermelho e adicione as linhas que estão em azul ao seu código.


VAR
I: WORD;
ano, anoh, dia, diah, mes, mesh: word;
Begin
with QR_Func do
begin
filtered := true;
first;
While not QR_Func.Eof do
begin
decodedate(FieldByName(´NASC´).AsDateTime,mes,dia,ano);
decodedate(date,mesh,diah, anoh);
if (dia = diah) and (mes = mesh) then
begin
QR_Aniver.Append;
[color=red:96fec61698]for I := 0 to QR_Aniver.FieldCount - 1 do
Begin [/color:96fec61698]
QR_Aniver.FieldByName(´MS´).Value := QR_Func.fieldbyname(´MS´).Value;
QR_Aniver.FieldByName(´NASC´).AsDateTime := QR_Func.fieldbyname(´NASC´).AsDateTime;
QR_Aniver.FieldByName(´NOME´).AsString := QR_Func.fieldbyname(´NOME´).AsString;
QR_Aniver.FieldByName(´TD´).Value := QR_Func.fieldbyname(´TD´).Value;
QR_Aniver.FieldByName(´END´).AsString := QR_Func.fieldbyname(´END´).AsString;
QR_Aniver.FieldByName(´BAIRRO´).AsString := QR_Func.fieldbyname(´BAIRRO´).AsString;
QR_Aniver.FieldByName(´CIDADE´).AsString := QR_Func.fieldbyname(´CIDADE´).AsString;
QR_Aniver.FieldByName(´EST´).AsString := QR_Func.fieldbyname(´EST´).AsString;
QR_Aniver.FieldByName(´CEP´).Value := QR_Func.fieldbyname(´CEP´).Value;
QR_Aniver.FieldByName(´TELRES´).Value := QR_Func.fieldbyname(´TEL´).Value;
QR_Aniver.FieldByName(´TELCOM´).Value := QR_Func.fieldbyname(´TELC´).Value;
QR_Aniver.FieldByName(´TELCEL´).Value := QR_Func.fieldbyname(´TELCEL´).Value;
QR_Aniver.FieldByName(´EMAIL´).AsString := QR_Func.fieldbyname(´EMAIL´).AsString;
QR_Aniver.Post;
[color=red:96fec61698]QR_Func.Next;
end; [/color:96fec61698]
[color=blue:96fec61698]
END; // Fim do if
QR_Func.Next;
END; // Fim do While
[/color:96fec61698]
END; // Fim do with
Application.MessageBox(´Transferência bem Sucedida!!!´, ´´, MB_ICONINFORMATION);
END;


Espero ter ajudado !


Responder

Gostei + 0

19/03/2003

Viviankb

Putz, vc me ajudou e muito ... Estava entrando em parafusos...rs

Obrigado de coração ...

Vivian


Responder

Gostei + 0

21/03/2003

Everton

Estamos aí para o que der e vier...


Responder

Gostei + 0

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

Aceitar