Atualizar Campo da tabela, sem perder os dados anteriores
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.
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
Curtidas 0
Melhor post
Natanael Oliveira
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.
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.
GOSTEI 1
Mais Respostas
Raimundo Pereira
19/05/2018
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 antigo fossem armazenados dentro do banco de dados" em qual tabela e em qual campo?
GOSTEI 0
Natanael Oliveira
19/05/2018
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.
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.
GOSTEI 0
Natanael Oliveira
19/05/2018
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 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.
GOSTEI 0
Raimundo Pereira
19/05/2018
1º
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
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
GOSTEI 0
Natanael Oliveira
19/05/2018
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.
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.
GOSTEI 0
Natanael Oliveira
19/05/2018
1º
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
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.
GOSTEI 0
Raimundo Pereira
19/05/2018
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.
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.
GOSTEI 0
Natanael Oliveira
19/05/2018
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.
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.
GOSTEI 0
Natanael Oliveira
19/05/2018
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.
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.
GOSTEI 0
Raimundo Pereira
19/05/2018
Posso, porém só quando chegar em casa.
add no skype . sac@p2tecnico.com.br
Whtz 71 . 993052489
add no skype . sac@p2tecnico.com.br
Whtz 71 . 993052489
GOSTEI 0