Fórum Problema com função de autonumeração? #351728
10/01/2008
0
Olá pessoal, estou com um pequeno problema num autonumeração que eu tenho aqui para controle anual.
Até o final de 2007 estava todo ok, mais agora em 2008 deu zebra, ou seja só enumera o primeiro que é 0001/2008, e continua o proximo 0001/2008 em vez de 0002/2008 ....
A função é esta aqui
(Pega o ano do calendario)
E eu chamo num button (Novo) assim:
Bom pessoal, qualquer ajuda é bem vinda
Obrigado
Adriano.
Até o final de 2007 estava todo ok, mais agora em 2008 deu zebra, ou seja só enumera o primeiro que é 0001/2008, e continua o proximo 0001/2008 em vez de 0002/2008 ....
A função é esta aqui
function TFDear.NextDoc(Num, Calendar: string): string; var S, D: integer; Ano, Mes, Dia: string; begin Ano := ´/´ + IntToStr(YearOf(Date)); if MonthOf(Date) < 10 then Mes := ´/0´ + IntToStr(MonthOf(Date)) else Mes := ´/´ + IntToStr(MonthOf(Date)); if DayOf(Date) < 10 then Dia := ´/0´ + IntToStr(DayOf(Date)) else Dia := ´/´ + IntToStr(DayOf(Date)); if Calendar = ´Ano´ then Calendar := Ano; if Calendar = ´Mes´ then Calendar := Mes; if Calendar = ´Dia´ then Calendar := Dia; if (Num <> ´´) and (Calendar = Copy(Num, Pos(´/´, Num), Length(Calendar))) then begin D := (Pos(´/´, Num) - 1); S := StrToInt(Copy(Num, 1, D)) + 1; FmtStr(Num, ´¬.´ + IntToStr(D) + ´d´, [S]); Result := Num + Calendar; end else Result := ´0001´ + Calendar; end;
(Pega o ano do calendario)
E eu chamo num button (Novo) assim:
With DM.cdsDear do begin if State in [dsInactive] then Open; if CanModify then begin dm.zqdearcontrole.close; dm.zqdearcontrole.sql.clear; dm.zqdearcontrole.sql.text:=´select Max(gerarchave)as Controle From declara´; dm.zqdearcontrole.open; NextDoc(dm.zqdearcontrole.FieldByName(´controle´).AsString, ´Ano´); Append; Lb_AutoInc.Caption := NextDoc(dm.zqdearcontrole.FieldByName(´controle´).AsString, ´Ano´); DBEdit1.SetFocus; end else Application.MessageBox(´Não foi possível incluir o registro´, ´Erro´, MB_ICONINFORMATION+MB_Ok); end;
Bom pessoal, qualquer ajuda é bem vinda
Obrigado
Adriano.
Adriano_servitec
Curtir tópico
+ 0
Responder
Posts
10/01/2008
Adriano_servitec
Pessoal, ja resolvi, fazendo uma condição de um where no select
valeu, obrigado a todos
valeu, obrigado a todos
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)