Fórum Auto incremento por data #396676
03/03/2011
0
Estou condificando um programa de atendimento, onde preciso que tenha na campo NumGuia, tenha um autoinclemento pora data, ou seja, cada dia iniciar com o numero 1 e dai por diante incrementar em +1;
Ex: dia 02/03/2011.
NumGuia inicia em:
01
02
03
04
05...
dia 03/03/2011.
NumGuia.
01
02
03
04
05
06
07
08...
agradeço a todos que poderem ajudar. Obrigado.
Joaci Queiroz
Curtir tópico
+ 0Posts
03/03/2011
Marco Salles
Estou condificando um programa de atendimento, onde preciso que tenha na campo NumGuia, tenha um autoinclemento pora data, ou seja, cada dia iniciar com o numero 1 e dai por diante incrementar em +1;
Ex: dia 02/03/2011.
NumGuia inicia em:
01
02
03
04
05...
dia 03/03/2011.
NumGuia.
01
02
03
04
05
06
07
08...
agradeço a todos que poderem ajudar. Obrigado.
Gostei + 0
04/03/2011
Joaci Queiroz
id numguia data
01 01 02/03/2011
02 02 02/03/2011
03 03 02/03/2011
04 01 03/03/2011
05 02 03/03/2011
06 03 03/03/2011
07 04 03/03/2011
...
Gostei + 0
04/03/2011
Marco Salles
procedure Desfragemntar(Data:Tdate);
var
DataIni:Tdate;
numguia:integer;
begin
DataIni:=StartOfTheMonth(Data);
numguia:=0;
while CompareDateTime(DataIni,IncDay(Data,2)) < 0 do
begin
Inc(numguia);
showmessage('numguia = '+inttostr(numguia));
DataIni:=IncDay(DataIni);
end;
end;
Gostei + 0
04/03/2011
Emerson Nascimento
algo assim (como você não diz qual banco de dados nem qualquer outra informação relevante, vou assumir o incremento por SQL):
if query.active then query.close;
query.sql := "SELECT COALESCE(MAX(NUMGUIA),'00') ULTGUIA FROM ATENDIMENTO WHERE DATA = :_DATAATUAL "
query.parambyname('_dataatual').asdate := sysutils.date;
query.open;
novaguia := query.fields[0].asinteger + 1;
query.close;
queryatendimento.fieldbyname('NumGuia').AsString := FormatFloat('00', novaguia);
Gostei + 0
04/03/2011
Marco Salles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)