Fórum Como faço p/ copiar resgitros de uma tabela p/ outra? #146984

18/03/2003

0

Olá Galera,

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, só que eu gostaria q só fosse copiados os registros dos aniversariantes do dia. Como faço isso?

Banco: DBF
Delphi: 6.0

Eu já tentei isso:

[i:7160cbcc27][b:7160cbcc27]Query1.SQL.Text:=´INSERT INTO Aniver SELECT * FROM Cadastro WHERE EXTRACT(DAY FROM NASC) = :DIA and EXTRACT(MONTH FROM NASC) = :MES´;
Query1.ParamByName(´DIA´).AsInteger := StrToInt( FormatDateTime( ´DD´,Date ) );
Query1.ParamByName(´MES´).AsInteger := StrToInt( FormatDateTime( ´MM´,Date ) );
Query1.ExecSQL;
Application.MessageBox(´Transferência bem Sucedida!!!´,´Retorno´,64);[/b:7160cbcc27][/i:7160cbcc27]

Mas nao funcionou, deu uma mensagem de erro: Invalid Parameter, nao sei o que fiz errado.

Obrigado :lol:

Vivian


Viviankb

Viviankb

Responder

Posts

18/03/2003

Poeta Noturno

faça o seguinte:

var
dia, diah, mes, mesh, ano, anoh: word;

while aniversariantes.recordcount > 0 do
aniversariantes.delete;

with cadastro do
begin
filtered := true;
first;
while not eof do
begin
decodedate(fieldbyname(´nascimento´).asdatetime,ano,mes,dia);
decodedate(date,anoh,mesh,diah);
if (dia = diah) and (mes = mesh) then
begin
aniversariantes.append;
aniversariantes.edit;
[inclui os dados de cada campo]
aniversariantes.post;
end;
next;
end;
end;

Espero que te sirva.

Um abraço

Poeta Noturno


Responder

Gostei + 0

18/03/2003

Anonymous

Para que isso funcione os campos devem ter o mesmo nome, correto? se tiver um campo com o nome diferente, nao dará certo? Eu gostaria de selecionar os campos do tabela. Tipo Cadastro (Matricula, Nome, End, Bairro, etc).

Tem como?

Obrigado mesmo .. Já tentei várias coisas, mas nao deu certo.

Eu fiz o q vc me recomendou e deu o seguinte erro: Project ProjetoAniver.exe raised exception class EDatabaseError with message ´Query_Aniver. Cannot perform this operation on a closed dataset.


Responder

Gostei + 0

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

Aceitar