Campos Auto - Incremento
Amigos,
Tenho os seguintes formulários:
Tabela Órgão
COD_ORGAO,
NOME_ORGAO,
Tabela Setor
COD_SETOR
NOME_SETOR,
COD_ORGAO
E para adicionar mais um número nos campos COD_ORGAO ou COD_SETOR tenho uma procedure no delphi no botão gravar dos formularios que funciona dessa forma:
Mas gostaria de ter um outro campo na TABELA SETOR ficando assim:
COD_REGISTRO (CHAVE PRIMÁRIA)
COD_SETOR (INTEGER)
NOME_SETOR (VARCHAR)
COD_ORGAO (CHAVE ESTRANGEIRA)
Dessa forma quando um novo registro fosse gravado o CODIGO_REGISTRO acionava a procedure acima (como acontece) e o CODIGO_SETOR acrescentasse um próximo registro (numeração) de acordo com o ORGAO.
Obrigado e valeu pela atenção
Luis Jr
Tenho os seguintes formulários:
Tabela Órgão
COD_ORGAO,
NOME_ORGAO,
Tabela Setor
COD_SETOR
NOME_SETOR,
COD_ORGAO
E para adicionar mais um número nos campos COD_ORGAO ou COD_SETOR tenho uma procedure no delphi no botão gravar dos formularios que funciona dessa forma:
if Novo then
[color=white:37eb73aaf1]--[/color:37eb73aaf1]begin
[color=white:37eb73aaf1]----[/color:37eb73aaf1]with QryConsulta do
[color=white:37eb73aaf1]------[/color:37eb73aaf1]begin
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Close;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Clear;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Add(´Select Max(COD_SETOR) from SETOR´); // busca o último registro
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Open;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]If Fields[0].IsNull = False then
[color=white:37eb73aaf1]----------[/color:37eb73aaf1]EdCOD_SETOR.Text := IntToStr(Fields[0].Value+1)// acrescenta mais um registro automaticamente
[color=white:37eb73aaf1]------[/color:37eb73aaf1]else
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]EdCOD_SETOR.Text := ´1´;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Close;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Clear;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Add(SqlInsert);
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[0].Value := EdCOD_SETOR.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[1].Value := EdNOME_SETOR.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[2].Value := EdCOD_ORGAO.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ExecSql;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]DM.TransDecretos.CommitRetaining;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ShowMessage(´REGISTRO GRAVADO´);
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Novo := False;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]end;
[color=white:37eb73aaf1]---[/color:37eb73aaf1]end
[color=white:37eb73aaf1]--[/color:37eb73aaf1]else
[color=white:37eb73aaf1]---[/color:37eb73aaf1]begin
[color=white:37eb73aaf1]----[/color:37eb73aaf1]with QryConsulta do
[color=white:37eb73aaf1]-----[/color:37eb73aaf1]begin
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Close;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Clear;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Sql.Add(SqlUpdate);
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[0].Value := EdNOME_SETOR.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[1].Value := EdCOD_ORGAO.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]Params[2].Value := EdCOD_SETOR.Text;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ExecSql;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]DM.TransDecretos.CommitRetaining;
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ShowMessage(´REGISTRO ATUALIZADO´);
[color=white:37eb73aaf1]-------[/color:37eb73aaf1]end;
[color=white:37eb73aaf1]--[/color:37eb73aaf1]end;
end;
Mas gostaria de ter um outro campo na TABELA SETOR ficando assim:
COD_REGISTRO (CHAVE PRIMÁRIA)
COD_SETOR (INTEGER)
NOME_SETOR (VARCHAR)
COD_ORGAO (CHAVE ESTRANGEIRA)
Dessa forma quando um novo registro fosse gravado o CODIGO_REGISTRO acionava a procedure acima (como acontece) e o CODIGO_SETOR acrescentasse um próximo registro (numeração) de acordo com o ORGAO.
Ex:
COD_REGISTRO--COD_SETOR----NOME_SETOR-----COD_ORG
[color=white:37eb73aaf1]-[/color:37eb73aaf1]1[color=white:37eb73aaf1]------------------------[/color:37eb73aaf1][color=red:37eb73aaf1][b:37eb73aaf1]1[/b:37eb73aaf1][/color:37eb73aaf1][color=white:37eb73aaf1]------------[/color:37eb73aaf1]PROCURADOR[color=white:37eb73aaf1]---------[/color:37eb73aaf1]1[color=white:37eb73aaf1]--------[/color:37eb73aaf1]ORGÃO [color=red:37eb73aaf1][b:37eb73aaf1]1[/b:37eb73aaf1][/color:37eb73aaf1]
[color=white:37eb73aaf1]-[/color:37eb73aaf1]2[color=white:37eb73aaf1]------------------------[/color:37eb73aaf1]1[color=white:37eb73aaf1]------------[/color:37eb73aaf1]SECRETARIO[color=white:37eb73aaf1]-----------[/color:37eb73aaf1]2[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ORGAO 2
[color=white:37eb73aaf1]-[/color:37eb73aaf1]3[color=white:37eb73aaf1]------------------------[/color:37eb73aaf1][color=red:37eb73aaf1][b:37eb73aaf1]2[/b:37eb73aaf1][/color:37eb73aaf1][color=white:37eb73aaf1]------------[/color:37eb73aaf1]CHEFE PROCU[color=white:37eb73aaf1]----------[/color:37eb73aaf1]1[color=white:37eb73aaf1]-------[/color:37eb73aaf1]ORGÃO [color=red:37eb73aaf1][b:37eb73aaf1]1[/b:37eb73aaf1][/color:37eb73aaf1]
Obrigado e valeu pela atenção
Luis Jr
Jrcosmoluis
Curtidas 0