Pular para o conteúdo principal

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.

Comentários

Postagens mais visitadas deste blog

ARTIGO: VINCULAR FOTOS NO MS ACCESS

por Luís Fernando da Silva Bittencourt

Estes dias estava em um fórum na web e notei a grande dificuldade dos usuários mais inexperientes quanto à vinculação de imagens no MS ACCESS. O recurso de vinculação de imagens serve para não sobrecarregar a base de dados com objetos OLE, pois neste aplicativo as imagens podem ser inseridas diretamente na base de dados, aceitando imagens no formato bmp. Entretanto, “o peso” gerado, dependendo da função da base de dados criada com o Access, logo esgotará a possibilidade de novos cadastros, haja vista existir uma limitação de 4Gb de registros.

Então, ao invés de se inserir uma foto no formato bmp diretamente na base de dados, fica muito mais lógico guardar apenas o caminho desta imagem, fazendo com que o nosso sistema busque a imagem respectiva e a apresente em um formulário de consulta ou relatório.

Para tanto, devemos inicialmente criar na respectiva tabela (objeto do MS Access responsável pela guarda das informações, sendo esta a base de dados pro…

Blogs sobre segurança em português

Hoje, visitando o blog do consultor de segurança da informação Sandro Süffert, achei de muito bom tom a relação que ele postou de blogs em lingua portuguesa que tratam sobre segurança da informação e resposta a incidentes/forense, ficando lisongeado pelo fato do Arquivos Máximus ter sido citado. Tendo em vista a facilidade que tal relação pode gerar à comunidade, concentrando num mesmo espaço ricas fontes de informação, abrangendo várias áreas do espectro criminalístico, vou reproduzir a referida relação, bem como deixar o link no menu lateral "Destaques do Blog", visando facilitar o acesso futuro. Segue a citada relação: Luis Bittencourt - http://arquivosmaximus.blogspot.com
Nelson Brito - http://fnstenv.blogspot.com CrkPortugal - http://www.crkportugal.net (Portugal) Marcelo Souza - http://marcelosouza.com PseudoRandom - http://blog.sapao.net Forense Coputacional - http://forcomp.blogspot.com Think Security First - http://wagnerelias.com Pedro Quintanilha - http://pedroquintanilha…

Destaque: Relação das Portas TCP/IP Mais Usadas!

por Luís Fernando da Silva Bittencourt

Uma das primeiras providências a se fazer quando existe a suspeita de algum tipo de invasão em um microcomputador é a verificação imediata das portas TCP/IP que estão em execução. Normalmente para isso é usado o comando NETSTAT (pretendo postar uma matéria específica futuramente), ou outro método qualquer de preferência do usuário. Entretanto, usuários menos experientes não sabem o tipo de serviço executados pelas portas em questão, para tanto relacionei as principais visado facilitar o entendimento destas, conforme segue: Observação: Para localizar um item específico use "Ctrl + F".
Porta Serviço 1 tcpmux
3
4
5 rje
7 echo
9 discard
11 systat
13 daytime
15 netstat
17 qotd
18 send/rwp
19 chargen
20 ftp-data
21 ftp
22 ssh, pcAnywhere
23 Telnet
25 SMTP
27 ETRN
29 msg-icp
31 msg-auth
33 dsp
37 time
38 RAP
39 rlp
40
41
42 nameserv, WINS
43 whois, nickname
49 TACACS, Login Host Protocol
50 RMCP, re-mail-ck
53 DNS
57 MTP
59 NFILE
63 whois++
66 sql*net
67 bootps
68 bootpd/dhcp
69 Tri…