Category Archives: Formulários

Fichas para um abrigo de animais

Este é um exemplo a pedido da leitora Sónia Campos que pretende uma base de dados para registar dados de animais. É uma base de dados simples com apenas um formulário para entrada de dados com fotografia do animal.

Download:  Abrigo Animais

Qualquer modificação é só comentar aqui.

Ponto

A pedido do leitor João Cabrita desenvolvi este exemplo de controle de ponto que se aplica a um quartel de bombeiros, mais especificamente às necessidades do leitor.

É um exemplo básico, mas com alguns pormenores mais avançados em que o que se pretende com ele é fazer o controle das entradas e saídas dos funcionários, verificar se trabalharam um turno de 12 horas e somar as horas trabalhadas a mais e as horas trabalhadas a menos.

Tudo isto para obter um relatório mensal de assiduidade de cada funcionário.

Download: Ponto

Introduzir um registo através de campos independentes

Existem várias formas de introduzir um registo, sendo que a mais comum é fazer através de um formulário vinculado a uma tabela. Outra forma de o fazer é através de campos desvinculados, ou seja através de um formulário com campos independentes sem ligação à tabela. Para
introduzir os dados vamos utilizar o ‘recordset’, ou seja através de um código, que no caso deste exemplo é o seguinte:

Dim db As Database
Dim rs As Recordset

If MsgBox(”Deseja gravar?”, vbYesNoCancel, “Opções”) = vbYes Then
‘ Ao carregar no botão é perguntado se deseja gravar o registo ou não, no caso afirmativo continua o código senão termina
Set db = CurrentDb()
Set rs = db.OpenRecordset(”Dados”, dbOpenTable)
‘ Abre a tabela dados para inserir o registo

rs.AddNew
rs(”nome”) = Me!INome
rs(”morada”) = Me!Imorada
rs(”idade”) = Me!Iidade
rs.Update ‘ envia os dados para a tabela
rs.Close ‘ Limpa os dados e fecha o recordset
Set rs = Nothing
Set db = Nothing

Me.INome = Null ‘ limpa os campos no formulário
Me.Imorada = Null
Me.Iidade = Null
MsgBox “Registo gravado”, vbInformation, “Concluído” ‘ Exibe mensagem de confirmação
Me.INome.SetFocus ‘ Move o cursor para o primeiro campo
Else: Exit Sub
End If

Download: Introduzir Independente

Calculos com horas

Este exemplo mostra como efectuar cálculos com horas. É útil para quem precisa de saber quanto tempo decorreu entre uma hora de inicio e uma hora de fim. Não basta fazer a subtracção da hora de fim pela hora de inicio, porque caso a hora de fim passe de um dia para o seguinte as contas já não darão certas, por exemplo:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Hora Fim – Hora Inicio = 02:00:00 – 23:00:00 = -21:00:00

Obviamente que não é assim tão simples trabalhar com horas, porque assim em vez de termos 3 horas como resultado correcto teríamos -21 horas erradamente.

Para contornar esta situação em que o período passa de um dia para outro temos que verificar primeiro se a hora de fim é superior à hora de inicio, caso seja maior então o cálculo é: Hora Fim – Hora Inicio.

Caso seja menor então temos que fazer o cálculo de outra forma, ou seja:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Total de Horas: 23:59:59

Acerto: 00:00:01

Basicamente o que vamos fazer é somar 24:00:00 ao valor da subtracção para nos dar as três horas correctas. Ou seja:

Hora Fim – Hora Inicio + Total de Horas + Acerto = 02:00:00 – 23:00:00 + 23:59:59 + 00:00:01 = -21:00:00 + 24:00:00 = 03:00:00

Download: Calculo com Horas

Calendário PopUp

Este exemplo mostra como escolher uma data através de um calendário PopUp. Ou seja, através de um módulo e de um formulário podemos escolher uma data como se trata-se de um calendário. No exemplo podemos escolher a data clicando no botão ao lado do campo data ou clicando com o botão do lado direito do rato no campo data. Esta forma de introduzir datas é bastante prática uma vez que nos permite ver um calendário e assim escolher melhor a data que pretendemos.

Download: Calendário PopUp

Desactivar a roda do rato (botão central)

Normalmente quando rodamos o botão central de um rato num formulário, o access muda de registo. Em algumas situações pode ser bastante útil que isso não aconteça.
Este exemplo utiliza um modulo, no evento ao carregar do formulário, para impedir que o utilizador navegue pelos registos utilizado o scroll do rato. Para testar podemos utilizar a roda do rato (botão central) para ver que não muda de registo.

Download aqui: Roda do rato

Saldo Inicial

Exemplo de como visualizar um extracto de conta de um determinado período e mostrar o saldo inicial no inicio desse período.

Para testar introduza uma data entre o período inicial e o final como mostrado na imagem e verifique se o saldo inicial está correcto.

Download: Saldo Inicial

Contar registos

Mais um exemplo fácil de fazer, é este que podemos utilizar quando temos uma base de dados de clientes e queremos contar o número de clientes começados por cada letra.

Ou seja:
Cliente
Alberto
Ana
Manuel

Começados por “A”: 2 registos
Começados por “M”: 1 registos

Veja o exemplo: Contar Registos

Manipular a janela do Access

Este exemplo utiliza um módulo que esconde a janela principal do Microsoft Access, ficando apenas a janela do formulário visível.
Para utilizar este módulo temos que utilizar o seguinte comando no evento ao abrir do formulário: call fsetAccessWindow (SW_HIDE).

Para verificar através de um exemplo faça o downloa: Manipular Janela do Acces

Exibir uma mensagem de cumprimento

Através de um pequeno código podemos dar as boas vindas ao utilizador dependendo da hora em que abra o formulário. Neste exemplo podemos ver três mensagens diferentes:
1-Até às 12:00 Bom dia;
2-Até às 19:00 Boa tarde;
3-Entre as 19:00 e as 24:00 Boa noite.

Apenas precisamos de um pequeno código, que é o seguinte:

Public Function Cumprimento()
Dim strMsg As String

If Time < #12:00:00 PM# Then
strMsg = “Ola! Tenha um bom dia!”
ElseIf Time <= #7:00:00 PM# Then
strMsg = “Ola! Tenha uma boa tarde!”
Else
strMsg = “Ola! Tenha uma boa noite!”

End If
Cumprimento = strMsg
End Function

Depois para chamar o código, utilizamos uma caixa de texto e como origem do controlo escrevemos =cumprimento().

Download: Cumprimento