Como adicionar lembretes de aniversário em seu banco de dados do Access

Compartilhe agora:

Saiba como você pode adicionar lembretes de aniversário ao seu banco de dados do Access. Seja informado se o aniversário do seu cliente ou funcionário está chegando para que você possa enviar-lhes sua calorosa saudação.

Enviar cumprimentos de aniversário pode ser uma ótima maneira de conectar e fortalecer o relacionamento com um cliente ou funcionário. Se você estiver lidando com um banco de dados do Access contendo registros de clientes/funcionários, pode ser ótimo ser notificado de tempos em tempos se o aniversário de um cliente ou funcionário estiver chegando. Neste tutorial, você aprenderá como criar uma função que o notificará sobre o dia especial de alguém no momento em que você abrir o banco de dados.

Faça o download

Se você deseja começar a usar o recurso o mais rápido possível, você pode:

Baixe o banco de dados de amostra com códigos VBA agora

Caso contrário, se você quiser DIY, pode ler o conteúdo abaixo.

Requisito prévio

Este tutorial pressupõe que você tenha uma tabela em seu banco de dados que contenha esses 3 campos: nome, sobrenome e aniversário.

Etapas para adicionar lembretes de aniversário no banco de dados do Access

  1. Crie uma nova tabela e nomeie-a Aniversariantes. Isso servirá como repositório para a lista de aniversariantes. Adicione 3 campos como mostrado abaixo. Não há necessidade de uma chave primária.Aniversariantes de mesa
  2. Crie um formulário para Celebrantes de Aniversário. Este formulário aparecerá ao abrir o banco de dados se houver aniversários próximos.Crie um formulário para celebrantes de aniversário
  • No painel de navegação, selecione a tabela BirthdayCelebrants.
  • Vá para Criar > Formulário.
  • Um único formulário será criado automaticamente para você.

Como vamos exibir uma lista de aniversariantes, sugiro que você altere a Visualização Padrão do formulário para Folha de Dados ou Formulários Contínuos. Dessa forma, você pode ter uma visão geral rápida da lista.Alterar a exibição padrão do formulário

  • Enquanto estiver no modo de design, selecione o formulário.
  • Abra a Folha de Propriedades (ALT + F11)
  • Vá para Formatar > Exibição padrão.
  • Selecione a visualização desejada – folha de dados ou formulários contínuos.

Se você selecionou Formulários Contínuos, edite o design para corresponder às suas preferências. Aqui está como o meu se parece:Selecione formulários contínuos e edite o design

Editei o formato da caixa de texto Aniversário para que os valores sejam exibidos no formato Long Date. Além disso, fiz as seguintes atualizações nas propriedades do formulário:

  • Permitir adições: Não
  • Permitir Exclusões: Não
  • Permitir edições: não

Quando terminar, feche o formulário e salve-o como frm_BirthdayCelebrants.

  1. Adicione o código para o lembrete de aniversário.
    • Adicione um novo módulo.Adicionar um novo módulo
    • Isso abrirá o Editor VBA.
    • Adicione o código a seguir e modifique-o para atender às suas necessidades.
Public Function RunBirthdayReminders()
  Dim qry As String, fld_fName As String, fld_lName As String, fld_birthday As String, tbl As String
  Dim db As DAO.Database, rst As DAO.Recordset
 
  'TO DO: Update the ff. variables with the actual name of your table and fields
 
  tbl = "Members" 'table containing your client/employee reocrds
  fld_fName = "FirstName" 'first name field
  fld_lName = "LastName" 'last name field
  fld_birthday = "Birthday" 'birthday field
 
  Set db = CurrentDb
 
  'delete current record(s) from BirthdayCelebrants table
  DoCmd.SetWarnings False
  DoCmd.RunSQL ("DELETE FROM BirthdayCelebrants")
  DoCmd.SetWarnings True
 
  'insert new record(s) in BirthdayCelebrants table using a query that gets list of people celebrating their birthday today.
  qry = "INSERT INTO BirthdayCelebrants " & _
    "SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
      "Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")=Day(Date())"
 
  DoCmd.SetWarnings False
  DoCmd.RunSQL (qry)
  DoCmd.SetWarnings True
 
  Set rst = db.OpenRecordset("SELECT * FROM BirthdayCelebrants")
  If Not rst.EOF Then
    DoCmd.OpenForm ("frm_BirthdayCelebrants")
  End If
 
  Set db = Nothing
  Set rst = Nothing
End Function

Observe que o código acima usa uma consulta que obtém uma lista de aniversariantes do dia atual. Se você deseja obter uma lista de pessoas cujo aniversário está chegando no mês atual, use a consulta a seguir.

'insert new record(s) in BirthdayCelebrants table using a query that gets list of people whose birthday is coming up for this month.
qry = "INSERT INTO BirthdayCelebrants " & _
  "SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
    "Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")>=Day(Date())" & _
      " ORDER BY Day(" & fld_birthday & ") ASC"
  1. Finalmente, vamos criar uma macro AutoExec. Isso executará o código ao abrir o banco de dados.Criar uma Macro AutoExec
    • Vá para Criar > Macro.
    • Selecionar Executar código na lista suspensa.
    • Para o nome da função, escreva Executar lembretes de aniversário().
    • Salve a macro como AutoExec e clique em OK.
  1. Agora, teste seu Lembrete de Aniversário.

Feche o banco de dados e reabra-o. Se houver aniversários próximos, o formulário de lembrete de aniversário deve aparecer. Se nenhum, o banco de dados será executado normalmente.

Lembrete rápido

Agora, para um lembrete rápido. Se um dia você não conseguir abrir seu banco de dados, não entre em pânico. Tome as medidas necessárias para recuperá-lo. Se ainda não conseguir, tente um software de terceiros que irá corrigir acesso. Ainda há esperança.

Introdução do autor:

Jayme Stack é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperação sql e produtos de software de recuperação do Excel. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.