inserir novo registro em alguns campo da tabela e em outro campo receber registro de outra tabela
Pessoal, estou precisando inserir novos registro em alguns campos da tabela e em outros campos receber registro que ja existem em outra tabela.
exemplo:
tabela A tenho os campos tabela B
id identificacao setor id id_ingresso identificacao setor descricao tipo data hora
1 1020304050 teste
na tabela B preciso inserir nos campos id_ingresso e setor os registros do campo id e setor da tabela A e nos restantes dos campos inserir novos registros .
codigo a baixo ele insere os dados de uma tabela na outra,mas preciso preencher os outros campos com novos registro.
Dm.Consulta.SQL.Clear;
Dm.Consulta.SQL.Add('insert into ingresso_evento (id_ingresso,SETOR)select id,SETOR from ingressos where identificacao = :pident');
Dm.Consulta.ParamByName('pident').Value := edit5.Text;
no campo identificacao da tabela B preciso receber o valor do edit5.Text.
segue meu codigo.
procedure TFmrRelatEntradas.Edit5Exit(Sender: TObject);
begin
if not dm.IngressosTable.Locate('identificacao',edit5.Text,[]) then
begin
ShowMessage('NÃO CADASTRADO');
DM.FDingEvento.Open;
DM.FDingEvento.Append;
dm.FDingEventoIdentificacao.value := edit5.Text;
dm.FDingEventoData.Value:= Date();
dm.FDingEventoHora.value := Time();
dm.FDingEventoDescricao.Value := 'INGRESSO NÃO CADASTRADO';
dm.FDingEventoTipo.Value := 'BLOQUEIO';
DM.FDingEvento.post;
DSingevento.DataSet.Refresh;
EDIT5.Clear;
end;
if dm.IngressosTable.Locate('identificacao',edit5.Text,[]) then
begin
dm.IngressosTable.sql.Clear;
dm.IngressosTable.SQL.Add('update ingressos SET Valido = "1" WHERE Valido = "0" AND Identificacao = :pident');
dm.IngressosTable.ParamByName('pident').value := edit5.Text;
Dm.IngressosTable.ExecSQL;
ShowMessage('BOM JOGO');
Dm.Consulta.SQL.Clear;
Dm.Consulta.SQL.Add('insert into ingresso_evento (id_ingresso,SETOR)select id,SETOR from ingressos where identificacao = :pident');
Dm.Consulta.ParamByName('pident').Value := edit5.Text
preciso dar continuidade aqui para inserir os outros campos.
exemplo:
tabela A tenho os campos tabela B
id identificacao setor id id_ingresso identificacao setor descricao tipo data hora
1 1020304050 teste
na tabela B preciso inserir nos campos id_ingresso e setor os registros do campo id e setor da tabela A e nos restantes dos campos inserir novos registros .
codigo a baixo ele insere os dados de uma tabela na outra,mas preciso preencher os outros campos com novos registro.
Dm.Consulta.SQL.Clear;
Dm.Consulta.SQL.Add('insert into ingresso_evento (id_ingresso,SETOR)select id,SETOR from ingressos where identificacao = :pident');
Dm.Consulta.ParamByName('pident').Value := edit5.Text;
no campo identificacao da tabela B preciso receber o valor do edit5.Text.
segue meu codigo.
procedure TFmrRelatEntradas.Edit5Exit(Sender: TObject);
begin
if not dm.IngressosTable.Locate('identificacao',edit5.Text,[]) then
begin
ShowMessage('NÃO CADASTRADO');
DM.FDingEvento.Open;
DM.FDingEvento.Append;
dm.FDingEventoIdentificacao.value := edit5.Text;
dm.FDingEventoData.Value:= Date();
dm.FDingEventoHora.value := Time();
dm.FDingEventoDescricao.Value := 'INGRESSO NÃO CADASTRADO';
dm.FDingEventoTipo.Value := 'BLOQUEIO';
DM.FDingEvento.post;
DSingevento.DataSet.Refresh;
EDIT5.Clear;
end;
if dm.IngressosTable.Locate('identificacao',edit5.Text,[]) then
begin
dm.IngressosTable.sql.Clear;
dm.IngressosTable.SQL.Add('update ingressos SET Valido = "1" WHERE Valido = "0" AND Identificacao = :pident');
dm.IngressosTable.ParamByName('pident').value := edit5.Text;
Dm.IngressosTable.ExecSQL;
ShowMessage('BOM JOGO');
Dm.Consulta.SQL.Clear;
Dm.Consulta.SQL.Add('insert into ingresso_evento (id_ingresso,SETOR)select id,SETOR from ingressos where identificacao = :pident');
Dm.Consulta.ParamByName('pident').Value := edit5.Text
preciso dar continuidade aqui para inserir os outros campos.
Alan
Curtidas 0
Melhor post
Frank Hosaka
08/07/2023
Eu não sei nada de Delphi. Mas entendo um pouco de MySQL.
Cada tabela deve representar alguma coisa, exemplo:
tabela ingresso
id [auto_increment]
id_participante
id_show
tabela participante
id
nome
telefone
tabela show
id
data
evento
Vamos criar alguns registros: tabela participante (1,"Frank","91234-1234"); tabela show (1,"25/12/2023","Festa de Natal").
Na hora do Frank comprar o ingresso, o comando em MySQL seria assim:
insert into ingresso (id_participante,id_show) values (1,1)
Você não pode pegar o campo de uma tabela e colocar em outra, mas você pode usar o Delphi para identificar o participante, e depois passar o ingresso para ele, e em seguida registrar o evento na tabela ingresso. Cada tabela tem uma função. Como ajuntar essas informações é o que a gente chama de relacionamento.
Cada tabela deve representar alguma coisa, exemplo:
tabela ingresso
id [auto_increment]
id_participante
id_show
tabela participante
id
nome
telefone
tabela show
id
data
evento
Vamos criar alguns registros: tabela participante (1,"Frank","91234-1234"); tabela show (1,"25/12/2023","Festa de Natal").
Na hora do Frank comprar o ingresso, o comando em MySQL seria assim:
insert into ingresso (id_participante,id_show) values (1,1)
Você não pode pegar o campo de uma tabela e colocar em outra, mas você pode usar o Delphi para identificar o participante, e depois passar o ingresso para ele, e em seguida registrar o evento na tabela ingresso. Cada tabela tem uma função. Como ajuntar essas informações é o que a gente chama de relacionamento.
GOSTEI 1
Mais Respostas
Alan
07/07/2023
Eu não sei nada de Delphi. Mas entendo um pouco de MySQL.
Cada tabela deve representar alguma coisa, exemplo:
tabela ingresso
id [auto_increment]
id_participante
id_show
tabela participante
id
nome
telefone
tabela show
id
data
evento
Vamos criar alguns registros: tabela participante (1,"Frank","91234-1234"); tabela show (1,"25/12/2023","Festa de Natal").
Na hora do Frank comprar o ingresso, o comando em MySQL seria assim:
insert into ingresso (id_participante,id_show) values (1,1)
Você não pode pegar o campo de uma tabela e colocar em outra, mas você pode usar o Delphi para identificar o participante, e depois passar o ingresso para ele, e em seguida registrar o evento na tabela ingresso. Cada tabela tem uma função. Como ajuntar essas informações é o que a gente chama de relacionamento.
Cada tabela deve representar alguma coisa, exemplo:
tabela ingresso
id [auto_increment]
id_participante
id_show
tabela participante
id
nome
telefone
tabela show
id
data
evento
Vamos criar alguns registros: tabela participante (1,"Frank","91234-1234"); tabela show (1,"25/12/2023","Festa de Natal").
Na hora do Frank comprar o ingresso, o comando em MySQL seria assim:
insert into ingresso (id_participante,id_show) values (1,1)
Você não pode pegar o campo de uma tabela e colocar em outra, mas você pode usar o Delphi para identificar o participante, e depois passar o ingresso para ele, e em seguida registrar o evento na tabela ingresso. Cada tabela tem uma função. Como ajuntar essas informações é o que a gente chama de relacionamento.
Ahh sim amigo muito obrigado vou pesquisar e dar uma lida sobre o relacionamento de tabelas.No caso meu sistema é de controle de acesso,preciso consultar os ingressos que estão na tabela ingressos, se estiver o sistema faz a liberação e na tabela ingreresso_evento será o relatório de onde precisa conter a identificaçao,setor data ,hora descrição,tipo que seria entrada ou bloqueio.
GOSTEI 0