O Tempo Agora

Arquivo do blog

Pesquisador:

Google+ Badge

terça-feira, 2 de dezembro de 2008

ACCESS & VBA : número aleatório


Nem sempre um campo de numeração automática do Access satisfaz as necessidades de um sistema, pincipalmente quando a complexidade cresce. Muitas vezes, por uma série de razões, necessitamos que determinado campo armazene um número aleatório para servir de chave primária, quer seja para relacionar duas tabelas ou servir de índice para vincular imagens.

Uma maneira fácil e prática é utilizar o relógio interno do sistema operacional para gerar um número aleatório, separando as informações do número da semana do ano, hora, mes, segundo e o ano.
Pois bem, partindo da premissa de que este campo será o primeiro a ser preenchido, nas propriedades do mesmo, no evento "ao receber foco", dentro do editor de VBA:
Private Sub NomeDoCampo_GotFocus()
'declarar as variáveis não precisando especificar o tipo:
Dim semana, hora, mes, segundo, ano
'depois formatar as variáveis criadas
semana = format(Now(), "ww")
'onde Now() é a função que captura os dados do relógio e ww diz que é para ser utilizado apenas o número da semana do ano com dois dígitos.
hora = format(Now(), "hh") 'hh é a hora
mes = format(Now(), "mm") 'mm é o mês
segundo = format(Now(), "ss") 'ss corresponde ao segundos
ano = format(Now(), "yy") 'yy ao ano
'agora é só especificar como os números ficarão dispostos:
me.NomeDoCampo.value = semana & mes & hora & segundo & ano
end sub
Desta maneira se obtém um número aleatório onde é possível, inclusive, autenticcar pela identificação de suas partes, pois se determinado cadastro é realizado somente pela manhã então se os dígitos correspondentes a hora forem posteriores às 13 h algo houve que merece ser verificado.
Bem, por hora é isso e até a próxima.

Nenhum comentário: