Fórum Evitar Duplicidade HELP !!!! #185459
01/10/2003
0
Caros colegas.
Em um sistema de faturamento que emite pedidos, preciso gerar um numero novo pra cada usuario que acessa o pedido.
Porem quando o terceiro entra ao mesmo tempo o numero se repete, sendo que deveria ser o ultimo mais 1.
Estou trabalhando com base de dado do Dbase IV no cliente e por isso nao posso utilizar o auto increment pois ele nao tem.
Alguem pode me dar um H E L P...
Segue a baixo a rotina que uso para incremento como ex:
procedure TFrm_PedCli.FormShow(Sender: TObject);
begin
wwParam.Active:=True;
Label21.Caption:=Npeddo(´´); //retorna o numero + 1
wwParam.Edit;
wwParamNPEDDO.AsString:=Label21.Caption; //grava numero do pedido
wwParam.Post;
wwParam.FlushBuffers;
SpinEdit5.SetFocus;
end;
Function npeddo(x:string):String;
var
Trans:Integer;
wAux:string;
begin
Frm_PedCli.wwParam.First;
wNpeddo:=Frm_PedCli.wwParamNPEDDO.asstring;
if wNpeddo=´´ then wNpeddo:=´0´;
Trans:=StrToInt(wNpeddo);
Inc(Trans);
wNpeddo:=StrZero(Trans,7);
Result:=wNpeddo;
end;
Em um sistema de faturamento que emite pedidos, preciso gerar um numero novo pra cada usuario que acessa o pedido.
Porem quando o terceiro entra ao mesmo tempo o numero se repete, sendo que deveria ser o ultimo mais 1.
Estou trabalhando com base de dado do Dbase IV no cliente e por isso nao posso utilizar o auto increment pois ele nao tem.
Alguem pode me dar um H E L P...
Segue a baixo a rotina que uso para incremento como ex:
procedure TFrm_PedCli.FormShow(Sender: TObject);
begin
wwParam.Active:=True;
Label21.Caption:=Npeddo(´´); //retorna o numero + 1
wwParam.Edit;
wwParamNPEDDO.AsString:=Label21.Caption; //grava numero do pedido
wwParam.Post;
wwParam.FlushBuffers;
SpinEdit5.SetFocus;
end;
Function npeddo(x:string):String;
var
Trans:Integer;
wAux:string;
begin
Frm_PedCli.wwParam.First;
wNpeddo:=Frm_PedCli.wwParamNPEDDO.asstring;
if wNpeddo=´´ then wNpeddo:=´0´;
Trans:=StrToInt(wNpeddo);
Inc(Trans);
wNpeddo:=StrZero(Trans,7);
Result:=wNpeddo;
end;
Fgd
Curtir tópico
+ 0
Responder
Posts
01/10/2003
Rfpsatin
trabalha dentro de transação, se possível, deia o dado e pouco se importe se esta mostrando duplicado...
NA HORA DE GRAVAR, leia novamente e mude o valor pelo lido....
não resolve 100¬ + ajuda
NA HORA DE GRAVAR, leia novamente e mude o valor pelo lido....
não resolve 100¬ + ajuda
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)