USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Solução para um problema futuro
BarraDois
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 11/06/2008 01:13 hs            

Tenho um sistema que gera um código automaticamente, pega o último registro e soma mais 1. O problema é que na virada do ano este campo tem que iniciar do 1 novamente, sem apagar os registros anteriores. Tem como fazer isto, quando o micro identificar que é dia 1º de janeiro retornar ao número 1 e o seguinte 1+1.

   
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 11/06/2008 08:39 hs            
Cheque a data antes de gravar. Se for > 31/12/yyyy você zera. (yyyy será o ano anterior)

Mas aí é bom ter um controle do ano nesse campo, algo como 1-2008, 2-2008, etc. E nesse caso o campo teria que passar para texto.
TÓPICO EDITADO
 
Maxcim
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 11/06/2008 09:56 hs            
faz um select bucando o ano   year(seucampodata) =2008 
 
select max(seuID) as ULTID from sua tabela where year(seucampodata) =2008 
   
BarraDois
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 11/06/2008 12:52 hs            
CSrocha e Maxcim, uso o seguinte código para gerar um protocolo:
Rst.MoveMax
LblCodi.Text = Rst!codicont
txtCodCont.Text = Rst!codicont
LblCodi.Text = LblCodi + 1
Vamos imaginar que no dia 3 de janeiro o usuário volte a trabalhar, ao inserir um novo registro, faz uma comparação de data, eu fiz aqui com o mês, sendo mes 1 then o campo recebe 1. O problema vem depois, o registro seguinte deveria ser 1+1, como o mês um são 31 dias, toda vez que for inserir um novo registro neste mes, aparecerá o numero 1.
Preciso que ao começar um novo ano, o sistema detecte esta diferença, inicie novamente a contagem e o código seguinte seja o último mais 1.
 
   
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 11/06/2008 12:54 hs            
rapaz... esse tipo de numeração é confusa demais, tipo, dai vai ter 1, o 11 (que seria o 1 + 1 do segundo ano, + não confundiria com o numero 11 do primeiro ano mesmo?)

Se tiver que ser assim, eu aconselho a gravar o numero + o ano correspondente, tipo:
12008
22008
32008

Depois, no ano seguinte:
12009
22009
Assim saberia só de bater o olho a qual ano pertence. E nunca se repetiria.

T+
   
BarraDois
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 11/06/2008 16:18 hs            
Donkey, a númeração gerada é crescente e segue esse padrão que é determinado pela empresa. A pessoa dá entrada em um documento, esse documento recebe um número de protocolo que é eeste número crescente, ou seja, entrou um doc recebe o protocolo , por exemplo, 230, entrou outro doc recebe o protocolo 231. O problema é que com o novo ano, o protocolo deveria iniciar do 1. Para controle temos um campo data ou seja protocolo 231 do ano de 2008 por exemplo. O que eu não sei é se tem como codificar esta sistematica. É muito diria jegue no final do ano fazer uma cópia do bd e a outra zerar os arquivos para começar do 1. Não posso colocar como você sugeriu 12008, 2008 porque implica em mudança do padrão da empresa. Aguardo outra sugestão
   
Página(s): 1/3      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página