Procedure Global Gravar Novo Registro na Tabela
13/08/2004
0
:?: Olá a todos.
Estou fazendo uma procedure global que será acessada por todos os programas do sistema.
Esta procedure tem a finalidade de adicionar um novo registro em uma tabela, o código deste novo registro esta armazenado em outra tabela que guarda os próximos códigos das tabelas do sistema.
Esta procedure receberá como parâmetros os seguintes dados:
1. Nome da tabela
2. Nome do campo com o ultimo código – numérico
3. Nome do campo da tabela a ser atualizada – Caracter
4. Tamanho do campo caracter da tabela
Ocorre que quando executo a procedure não grava nada no campo de código ele fica vazio estou usando paradox, delphi 5 e DBEdit.
Caso alguém possa me dar um auxilio, será bem vindo.
== >> Ao ativar o Form estou definindo:
procedure TFrC1500.FormActivate(Sender: TObject);
begin
NmTabela := DtmDados.Clientes;
NmCampoCnf := DtmDados.Config.FieldByName(´Cnf_CliCod´).Value;
TamCampo := 2;
NmCampoTab := DtmDados.Pelagem.FieldByName(´Cli_Cod´).Value;
end;
== >>> Quando pressionado o botão gravar chamar a rotina
procedure TFrC1500.BtnGravarRegistroClick(Sender: TObject);
begin
SysGravarRegistro(NmTabela, NmCampoCnf, TamCampo , NmCampoTab);
end;
== >>> Procedure para atualizar o último código
procedure SysGravarRegistro(NmTabela: TTable; NmCampoCnf: String; TamCampo: Integer; NmCampoTab: String);
var
M_Campo : String;
V_Campo, : Integer;
Begin
M_Campo := NmCampoCnf;
V_Campo := StrToInt(M_Campo) + 1;
M_Campo := ´00000´ + IntToStr(V_campo);
M_Campo := copy(M_Campo , (length(M_Campo) - TamCampo) + 1 , TamCampo);
{ Atualiza ultimo código na tabela config }
DtmDados.Config.Edit;
NmCampoCnf := M_Campo;
DtmDados.Config.Post;
{ Grava o novo codigo na tabela }
NmTabela.Edit;
NmCampoTab := M_Campo;
NmTabela.Post;
end;
Estou fazendo uma procedure global que será acessada por todos os programas do sistema.
Esta procedure tem a finalidade de adicionar um novo registro em uma tabela, o código deste novo registro esta armazenado em outra tabela que guarda os próximos códigos das tabelas do sistema.
Esta procedure receberá como parâmetros os seguintes dados:
1. Nome da tabela
2. Nome do campo com o ultimo código – numérico
3. Nome do campo da tabela a ser atualizada – Caracter
4. Tamanho do campo caracter da tabela
Ocorre que quando executo a procedure não grava nada no campo de código ele fica vazio estou usando paradox, delphi 5 e DBEdit.
Caso alguém possa me dar um auxilio, será bem vindo.
== >> Ao ativar o Form estou definindo:
procedure TFrC1500.FormActivate(Sender: TObject);
begin
NmTabela := DtmDados.Clientes;
NmCampoCnf := DtmDados.Config.FieldByName(´Cnf_CliCod´).Value;
TamCampo := 2;
NmCampoTab := DtmDados.Pelagem.FieldByName(´Cli_Cod´).Value;
end;
== >>> Quando pressionado o botão gravar chamar a rotina
procedure TFrC1500.BtnGravarRegistroClick(Sender: TObject);
begin
SysGravarRegistro(NmTabela, NmCampoCnf, TamCampo , NmCampoTab);
end;
== >>> Procedure para atualizar o último código
procedure SysGravarRegistro(NmTabela: TTable; NmCampoCnf: String; TamCampo: Integer; NmCampoTab: String);
var
M_Campo : String;
V_Campo, : Integer;
Begin
M_Campo := NmCampoCnf;
V_Campo := StrToInt(M_Campo) + 1;
M_Campo := ´00000´ + IntToStr(V_campo);
M_Campo := copy(M_Campo , (length(M_Campo) - TamCampo) + 1 , TamCampo);
{ Atualiza ultimo código na tabela config }
DtmDados.Config.Edit;
NmCampoCnf := M_Campo;
DtmDados.Config.Post;
{ Grava o novo codigo na tabela }
NmTabela.Edit;
NmCampoTab := M_Campo;
NmTabela.Post;
end;
Neto
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)