Atualizar Campo da tabela, sem perder os dados anteriores

19/05/2018

0

Olá Caros !
sou iniciante no mundo Delphi, criei uma aplicação de cadastro de cliente / visitantes, usando um banco de dados access, neste banco tenho 3 tabelas
cliente, morador e visitante.
na aplicação eu tenho um form que nele eu faço uma consulta de clientes, onde me apresenta os resultado no campo: DBEdit6, este mesmo esta na tabela cliente, ate ai tudo bem !
minha duvida é, este campo DBEdit6 na consulta ele é atualizado com novos dados, porem gostaria que estes novos dados fossem inseridos no campo em questa e os dados antigo fossem armazenados dentro do banco de dados apos salva tal atualização, pois os dados antigos ficaram disponível para um relatório de visitas,

desde já agradeço, qualquer duvida ou esclarecimento a disposição.
Natanael Oliveira

Natanael Oliveira

Responder

Post mais votado

21/05/2018

Caro Amigo , Boa tarde !!

Fazendo alguns teste ontem anoite, consegui resolver meu problema,
utilizei a rotina abaixo.:



procedure TForm2.Button189Click(Sender: TObject);
begin

DM.ADOQCAD.Edit;
DM.ADOQVisitante.Insert;
DM.ADOQVisitante.FieldByName('nome').Value:= DBEdit1.Text;
DM.ADOQVisitante.FieldByName('rg').Value:= DBEdit2.Text;
DM.ADOQVisitante.FieldByName('apartamento').Value:= DBEdit3.Text ;
DM.ADOQVisitante.FieldByName('condomino').Value:= DBEdit4.Text ;
DM.ADOQVisitante.FieldByName('data').Value:= DBEdit6.Text;
DM.ADOQVisitante.FieldByName('visita').Value:= DBEdit7.Text ;
DM.ADOQVisitante.Post;

end;

Consegui passar os dados dos DBEdit,s para a tabela visitante.
e mantendo sempre a ultima visita atualizada na tabela cliente, onde posteriormente criei uma consulta para esta nova tabela, e atrelei no form consulta utilizado em minha aplicação, desta forma resolvi minha dor de cabeça.....kkkkk.

Agradeço seu emprenho e sua disponibilidade em me ajudar, fico muito grato.

Natanael Oliveira

Natanael Oliveira
Responder

Mais Posts

19/05/2018

Raimundo Pereira

DBEdit6 está inicialmente ligado a consulta de clientes.

"dados antigo fossem armazenados dentro do banco de dados" em qual tabela e em qual campo?
Responder

19/05/2018

Natanael Oliveira

Dados antigos seria armazenado na tabela: visitante, no campo DATA, dados novos eu consigo atualizar e manter na tabela cliente, no campo DATA.
Obs..: como se trata de um aplicação de cadastro de visitas de um Edifício, tenho o seguinte senário !
EX.: Um Técnico da operadora vivo, ele já tem cadastro vai ate o apartamento: 001, em 19/05/2018, supondo que em : 20/05/2018 ele retorna e vai ate o apartamento 002, como já tem cadastro, ele é localizado e atualizado sua visita anterior onde a mesma fica na tabela cliente, no campo DATA.,, assim eu gostaria de salvar as visitas anteriores na tabela: visitante, no campo DATA, . assim futuramente eu terei um relatório de datas que este mesmo técnico frequentou Edifício.

Desde já agradeço.
Responder

19/05/2018

Natanael Oliveira

DBEdit6 está inicialmente ligado a consulta de clientes.

"dados antigo fossem armazenados dentro do banco de dados" em qual tabela e em qual campo?




Dados antigos seria armazenado na tabela: visitante, no campo DATA, dados novos eu consigo atualizar e manter na tabela cliente, no campo DATA.
Obs..: como se trata de um aplicação de cadastro de visitas de um Edifício, tenho o seguinte senário !
EX.: Um Técnico da operadora vivo, ele já tem cadastro vai ate o apartamento: 001, em 19/05/2018, supondo que em : 20/05/2018 ele retorna e vai ate o apartamento 002, como já tem cadastro, ele é localizado e atualizado sua visita anterior onde a mesma fica na tabela cliente, no campo DATA.,, assim eu gostaria de salvar as visitas anteriores na tabela: visitante, no campo DATA, . assim futuramente eu terei um relatório de datas que este mesmo técnico frequentou Edifício.

Desde já agradeço.
Responder

20/05/2018

Raimundo Pereira


TBL VISITANTES
RG NOME ID_VISITANTE
01.02.03.06-15 P4 25

2º Nesta tabela você pode simplesmente atualiza a data do ultimo visitante.
Trabalhe com Updates.
TBL_MORADORES
AP MORADOR DATA ULTIMO VISITANTE ID_VISITANTE
00001 P2 20/05/2018 25
00201 P1 19/05/2018 25

3º Não é seguro realizar atualização e sim alimentar com um histórico tipo um log.
Então aqui ao registrar a visita você trabalha com Insert na TBL VISITA.
TBL VISITA
RG NOME AP DATA ID_VISITANTE
01.02.03.06-15 P4 00001 20/05/2018 25
01.02.03.06-15 P4 00201 19/05/2018 25

Responder

20/05/2018

Natanael Oliveira

Poderia me ajudar !
Estou usando um banco de dados access, com os seguintes componentes !: DM= Data Module, ADOConnection: chamado de: ADOBANCO ,ADOQuery: chamado de: ADOQCAD, este faz uma consulta VINDO DO DA TABELA:cliente ,como segue abaixo:
procedure TForm2.Button2Click(Sender: TObject);
begin

DM.ADOQCAD.Close;
DM.ADOQCAD.SQL.Clear;
DM.ADOQCAD.SQL.Add('Select*from clientes where rg = ''' +Edit1.Text+'''');
DM.ADOQCAD.Open;

end;

Esta consulta me traz os seguintes dados:
NOME: X
RG: X
TELEFONE: X
APARTAMENTO: X
CONDÔMINO: X
DATA/HORA: X
localizado o visitante,

com esta rotina eu abro uma edição:

NOVA ENTRADA

procedure TForm2.Button189Click(Sender: TObject);
begin
DM.ADOQCAD.Edit;
end;

E com a rotina abaixo, eu consigo inserir a data e hora atual no campo DATA que é salvo na tabela: CLIENTE, e consigo atualizar o DBEdit3, também presente na tabela cliente, que seria o campo: APARTAMENTO, atualizado com: 001
obs..: tenho 100 Buttons, que segue de: 001 ate 100, em cada button consta o código abaixo.

NUMERO DO APARTAMENTO:

procedure TForm2.Button9Click(Sender: TObject);
begin

DM.ADOQCADData.AsDateTime:= Now;
DBEdit3.EditText:='001';
DM.ADOQCAD.Post;

end;

com se trata de uma pessoa que já tem cadastro, com toda esta rotina eu consigo atualizar os campos em questão: DATA E APARTAMENTO, ambos na tabela: cliente, porém, a DATA e o APARTAMENTO que a pessoa visitou anteriormente se perde nesta atualização, como ajuda do nobre colega, tem algo que poderia me passar para que possar salvar estes dados para que não se perca com esta atualização de visita.
e como poderia fazer este UPDATE.

Desde já Agradeço.
Responder

20/05/2018

Natanael Oliveira


TBL VISITANTES
RG NOME ID_VISITANTE
01.02.03.06-15 P4 25

2º Nesta tabela você pode simplesmente atualiza a data do ultimo visitante.
Trabalhe com Updates.
TBL_MORADORES
AP MORADOR DATA ULTIMO VISITANTE ID_VISITANTE
00001 P2 20/05/2018 25
00201 P1 19/05/2018 25

3º Não é seguro realizar atualização e sim alimentar com um histórico tipo um log.
Então aqui ao registrar a visita você trabalha com Insert na TBL VISITA.
TBL VISITA
RG NOME AP DATA ID_VISITANTE
01.02.03.06-15 P4 00001 20/05/2018 25
01.02.03.06-15 P4 00201 19/05/2018 25







Poderia me ajudar !
Estou usando um banco de dados access, com os seguintes componentes !: DM= Data Module, ADOConnection: chamado de: ADOBANCO ,ADOQuery: chamado de: ADOQCAD, este faz uma consulta VINDO DO DA TABELA:cliente ,como segue abaixo:
procedure TForm2.Button2Click(Sender: TObject);
begin

DM.ADOQCAD.Close;
DM.ADOQCAD.SQL.Clear;
DM.ADOQCAD.SQL.Add('Select*from clientes where rg = ''' +Edit1.Text+'''');
DM.ADOQCAD.Open;

end;

Esta consulta me traz os seguintes dados:
NOME: X
RG: X
TELEFONE: X
APARTAMENTO: X
CONDÔMINO: X
DATA/HORA: X
localizado o visitante,

com esta rotina eu abro uma edição:

NOVA ENTRADA

procedure TForm2.Button189Click(Sender: TObject);
begin
DM.ADOQCAD.Edit;
end;

E com a rotina abaixo, eu consigo inserir a data e hora atual no campo DATA que é salvo na tabela: CLIENTE, e consigo atualizar o DBEdit3, também presente na tabela cliente, que seria o campo: APARTAMENTO, atualizado com: 001
obs..: tenho 100 Buttons, que segue de: 001 ate 100, em cada button consta o código abaixo.

NUMERO DO APARTAMENTO:

procedure TForm2.Button9Click(Sender: TObject);
begin

DM.ADOQCADData.AsDateTime:= Now;
DBEdit3.EditText:='001';
DM.ADOQCAD.Post;

end;

com se trata de uma pessoa que já tem cadastro, com toda esta rotina eu consigo atualizar os campos em questão: DATA E APARTAMENTO, ambos na tabela: cliente, porém, a DATA e o APARTAMENTO que a pessoa visitou anteriormente se perde nesta atualização, como ajuda do nobre colega, tem algo que poderia me passar para que possar salvar estes dados para que não se perca com esta atualização de visita.
e como poderia fazer este UPDATE.

Desde já Agradeço.
Responder

20/05/2018

Raimundo Pereira

Como falei.
Você cria uma tabela LOG_Visita.
Quando é registrado uma nova visita essa será em uma tabela de log não haverá exclusões nem atualizações apenas inserções.
Se for o caso você, quando precisar saber o ultimo visitante de tal apartamento.

Você apenas realiza no novo select na tabela LOG. nela você terá o histórico de visitas de tal apartamento.
Responder

20/05/2018

Natanael Oliveira

Agradeço pela resposta !!,
com base nas informações já citada acima, teria como criar algum exemplo !, desta rotina de Logs,
usaria como base a tabela visitante, para guardar estes logs.


Desde já Agradeço.
Responder

20/05/2018

Natanael Oliveira

Como falei.
Você cria uma tabela LOG_Visita.
Quando é registrado uma nova visita essa será em uma tabela de log não haverá exclusões nem atualizações apenas inserções.
Se for o caso você, quando precisar saber o ultimo visitante de tal apartamento.

Você apenas realiza no novo select na tabela LOG. nela você terá o histórico de visitas de tal apartamento.



Agradeço pela resposta !!,
com base nas informações já citada acima, teria como criar algum exemplo !, desta rotina de Logs,
usaria como base a tabela visitante, para guardar estes logs.


Desde já Agradeço.
Responder

21/05/2018

Raimundo Pereira

Posso, porém só quando chegar em casa.
add no skype . sac@p2tecnico.com.br
Whtz 71 . 993052489
Responder

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

Aceitar