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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Aviso no dia do Aniversário
Tenci
GUARUJÁ
SP - BRASIL
Postada em 10/04/2008 17:43 hs            
olá amigos, postei um topico, sobre data, e acho que não mim expressei direito, pois tenho um cadastro de Mala direta, onde tenho um campo com a data de nascimento do cidadão, exemplo 20/07/1974, queria saber como faço para quando chegar no dia 20/07/2008, 0 sistema avisar-me em um msgbox("hoje cliente fulano de tal está completando 34 anos").
 
 
desde ja agradeço.
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 10/04/2008 18:10 hs            
Faz assim colega:
 
cole este código no seu form
 
Dim Nascimento As Date
' a função abaixo calcula a idade em anos
 
Public Function Age(Bdate As Date, DateToday _
      As Date) As Integer
  If Month(DateToday) < Month(Bdate) Or _
       (Month(DateToday) = Month(Bdate) And _
       Day(DateToday) < Day(Bdate)) Then
    Age = Year(DateToday) - Year(Bdate) - 1
  Else
    Age = Year(DateToday) - Year(Bdate)
  End If
End Function
 
' no Load do seu form o seguinte código
 
Private Sub Form_Load()
Nascimento="10/04/1972"
If Day(Nascimento) = Day(Date) And Month(Nascimento) = Month(Date) Then
MsgBox "fulano faz " & Age(Nascimento, Date) & "anos hoje"
End If
End Sub
pronto veja se era isto
TÓPICO EDITADO
 
Tekki
Pontos: 2843 Pontos: 2843 Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 10/04/2008 23:10 hs            
Tente também com Select
 
 
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Form_Load()
    Dim sql As String
    Dim i As Integer
    Dim iAnos As Integer
   
    Set cn = New ADODB.Connection
    cn.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source= " & "C:SeuBDados.mdb" & "; Jet OLEDB:Database Password=SuaSenha;"
   
    Set rs = New ADODB.Recordset
    With rs
        .CursorLocation = adUseClient
        .LockType = adLockBatchOptimistic
        .CursorType = adOpenForwardOnly
    End With
     
   sql = "Select * from TClientes Where Format(DatNascimento,'dd/mm') = '" & Format(Date, "dd/mm") & "'"
   rs.Open sql, cn
     
   Do While Not rs.EOF
       iAnos = DateDiff("yyyy", rs("DatNascimento").Value, Date)
       MsgBox "Hoje o cliente " & rs("Nome").Value & " faz " & iAnos & " anos"
       rs.MoveNext
   Loop
       
End Sub
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 11/04/2008 17:39 hs            
Colega fiz uma alteração no meu código anterior e transformei em uma unica funçaõ ficou muito bom, veja:
 
no caso abaixo inseri a mesma no form porém ela poderia ficar em um módulo
 
Public Function Aniversario(Nome As String, Nascimento As Date) As Integer
Dim Idade As Integer
  If Month(Date) < Month(Nascimento) Or _
       (Month(Date) = Month(Nascimento) And _
       Day(Date) < Day(Nascimento)) Then
    Idade = Year(Date) - Year(Nascimento) - 1
  Else
    Idade = Year(Date) - Year(Nascimento)
  End If
If Day(Nascimento) = Day(Date) And Month(Nascimento) = Month(Date) Then
MsgBox "Hoje o cliente " & Nome & " está completando " & Idade & " anos", vbInformation, _
" Aniversariante do dia !"
End If
End Function
 
' para chamar basta fazer o seguinte
 
Private Sub Form_Load()
Aniversario "Marcelo", "11/04/1972"
End Sub
viu ficou super simples
 
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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