Estou tentando atribuir a função Dlookup a uma variável.
Bom, como estou criando uma tela de Login em que a senha é a partir da data de nascimento do usuário, tenho que criar algumas variaveis, como "dia", "mes" e "ano".
Como o formato solicitado é assim:
DDAAMM (dia, ano e mês). Exemplo: Se a data de nascimento da pessoa for 10/06/1996, então será 109606.
Então, criei 3 variáveis : "dia, mês e ano".
Utilizei a função Dlookup dentro da função Day, para trazer o dia da data de nascimento.
Utilizei a função Dlookup dentro de Month para trazer o mês e a função Len com IF, porque a função Month traz o mês com uma casa só, por exemplo, se for mês 5, ele retorna 5, e não 05, que é o que quero, aí ele acrescenta um 0 na frente. Caso já seja mês 10, 11 ou 12, ele não precisará do 0 na frente.
Utilizei a função Dlookup dentro de Year pra trazer o ano, e usei a função Right pra trazer só os 2 últimos números do ano.
Se eu botar pra exibir a MsgBox desse jeito assim, funciona.
Só que quando eu coloco os critérios na Dlookup, dá erro.
Alguém sabe como fazer pra dar certo?
Private Sub Comando5_Click()
dia = Day(DLookup("Data_Nascimento", "Usuários"))
If Len(Month(DLookup("Data_Nascimento", "Usuários"))) = 1 Then
mes = 0 & Month(DLookup("Data_Nascimento", "Usuários"))
Else
mes = Month(DLookup("Data_Nascimento", "Usuários"))
End If
ano = Right(Year(DLookup("Data_Nascimento", "Usuários")), 2)
If IsNull(Me.txtLogin) Or Me.txtLogin.Value = "" Then
MsgBox "Você não digitou um usuário. Esse campo é obrigatório", vbCritical, "Usuário"
Me.txtLogin = Null
Me.txtLogin.SetFocus
Dim dia As String
Dim mes As String
Dim ano As String
ElseIf Me.txtSenha = dia + ano + mes Then
MsgBox "tudo certo"
DoCmd.Close
Else
MsgBox ("não confere")
End If
End Sub
Bom, como estou criando uma tela de Login em que a senha é a partir da data de nascimento do usuário, tenho que criar algumas variaveis, como "dia", "mes" e "ano".
Como o formato solicitado é assim:
DDAAMM (dia, ano e mês). Exemplo: Se a data de nascimento da pessoa for 10/06/1996, então será 109606.
Então, criei 3 variáveis : "dia, mês e ano".
Utilizei a função Dlookup dentro da função Day, para trazer o dia da data de nascimento.
Utilizei a função Dlookup dentro de Month para trazer o mês e a função Len com IF, porque a função Month traz o mês com uma casa só, por exemplo, se for mês 5, ele retorna 5, e não 05, que é o que quero, aí ele acrescenta um 0 na frente. Caso já seja mês 10, 11 ou 12, ele não precisará do 0 na frente.
Utilizei a função Dlookup dentro de Year pra trazer o ano, e usei a função Right pra trazer só os 2 últimos números do ano.
Se eu botar pra exibir a MsgBox desse jeito assim, funciona.
Só que quando eu coloco os critérios na Dlookup, dá erro.
Alguém sabe como fazer pra dar certo?
Private Sub Comando5_Click()
dia = Day(DLookup("Data_Nascimento", "Usuários"))
If Len(Month(DLookup("Data_Nascimento", "Usuários"))) = 1 Then
mes = 0 & Month(DLookup("Data_Nascimento", "Usuários"))
Else
mes = Month(DLookup("Data_Nascimento", "Usuários"))
End If
ano = Right(Year(DLookup("Data_Nascimento", "Usuários")), 2)
If IsNull(Me.txtLogin) Or Me.txtLogin.Value = "" Then
MsgBox "Você não digitou um usuário. Esse campo é obrigatório", vbCritical, "Usuário"
Me.txtLogin = Null
Me.txtLogin.SetFocus
Dim dia As String
Dim mes As String
Dim ano As String
ElseIf Me.txtSenha = dia + ano + mes Then
MsgBox "tudo certo"
DoCmd.Close
Else
MsgBox ("não confere")
End If
End Sub