DATA DE CONTROLE ACCESS
Alguem pode me ajudar. Preciso impedir o uso do meu banco de dados apos uma determinada data. pedi ajuda a uma comunidade mas não funcionou bem. aà esta, veja o quehá de errado, por favor.
Private Sub Form_Open(Cancel As Integer)
Dim Minhadata As String
Dim Dia As Integer, Mes As Integer, Ano As Integer
Dia = 10
Mes = 12
Ano = 2012
Minhadata = Dia & [Ô]/[Ô] & Mes & [Ô]/[Ô] & Ano
If Date > Minhadata Then
MsgBox [Ô]Este programa expirou, contate o administrador para obter o acesso novamente[Ô]
DoCmd.Quit
End If
End Sub
Private Sub Form_Open(Cancel As Integer)
Dim Minhadata As String
Dim Dia As Integer, Mes As Integer, Ano As Integer
Dia = 10
Mes = 12
Ano = 2012
Minhadata = Dia & [Ô]/[Ô] & Mes & [Ô]/[Ô] & Ano
If Date > Minhadata Then
MsgBox [Ô]Este programa expirou, contate o administrador para obter o acesso novamente[Ô]
DoCmd.Quit
End If
End Sub
prezado,
Uso em meu programa a seguinte forma;
1o. salvo no banco de dados a data limite para utilização do programa
2o. sempre que o usuário entra no sistema salva a data do dia que ele acessou o programa
tabela Asgard.seguranca
id: 1
limite: 2012/12/31
atual: 2012/07/21
Quando o usuário entra no sistema (login) salva a data atual e verifica se a data no banco de dados é maior do que a data limite.
Verifica se a data do computador é diferente da data atual do banco de dados antes de salvar para impedir que o usuário volte a data do computador para usar o programa apos o vencimento do limite de uso;
Segue os códigos que estou usando:
Private Sub heimdall()
Dim permicao As Date
Dim permicao1 As Date
Dim atual As String
On Error GoTo errabrir
permicao = Now
permicao1 = Now
mycon.Open [Ô]dsn=asgard_salles[Ô]
With mycmd
Set .ActiveConnection = mycon
.CommandType = adCmdText
.CommandText = [Ô]Select *from heimdall_security where permitido_ate > [ô][Ô] & Format(permicao, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] [Ô]
Set myrs = .Execute
.CommandText = [Ô]update heimdall_security set [Ô] & _
[Ô]day_now = [ô][Ô] & Format(permicao, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
.Execute
If myrs!permitido_ate <= (permicao + 10) Then
MsgBox [Ô] LICENÇA DE USO DO PROGRAMA[Ô] & vbCrLf & vbCrLf & _
[Ô]Prezado usuário;[Ô] & vbCrLf & vbCrLf & _
[Ô]Informamos que a sua licença de uso vencerá no dia [Ô] & Format(myrs!permitido_ate, [Ô]dd/mm/yyyy[Ô]) & [Ô].[Ô] & vbCrLf & _
[Ô]Pedimos a getileza de informar ao administrativo, caso ao contrário, o programa irá[Ô] & vbCrLf & _
[Ô]perder toda a sua funcionalidade.[Ô] & vbCrLf & vbCrLf & _
[Ô]Atenciosamente,[Ô] & vbCrLf & _
[Ô]Suporte Asgard[Ô], vbInformation, [Ô]Asgard[Ô]
End If
End With
With myrs
If .EOF And .BOF Then
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
MsgBox [Ô] O limite de uso do sistema acabou, favor informar ao administrativo[Ô], vbCritical, [Ô]Projeto Asgard[Ô]
Unload Me
Exit Sub
[ô] limpar
End If
End With
saida:
Set myrs = Nothing
Set rs = Nothing
Set mycmd = Nothing
mycon.Close
errabrir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Erro ao entrar no sistema.[Ô], vbCritical, [Ô]Objetivo[Ô]
.Number = 0
Me.txtNome.SetFocus
Unload Me
Exit Sub
End If
End With
End Sub
Private Sub heimdall_time()
Dim permicao1 As Date
[ô]on Error GoTo errabrir
permicao1 = Now
mycon.Open [Ô]dsn=asgard_salles[Ô]
With mycmd
Set .ActiveConnection = mycon
.CommandType = adCmdText
.CommandText = [Ô]Select *from heimdall_security where day_now <= [ô][Ô] & Format(permicao1 + 1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] [Ô]
Set myrs = .Execute
End With
With myrs
If .EOF And .BOF Then
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
MsgBox [Ô] O limite de uso do sistema acabou, favor informar ao administrativo[Ô], vbCritical, [Ô]Projeto Asgard[Ô]
Unload Me
Exit Sub
[ô] limpar
End If
End With
saida:
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
errabrir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Erro ao entrar no sistema.[Ô], vbCritical, [Ô]Objetivo[Ô]
.Number = 0
Me.txtNome.SetFocus
Exit Sub
End If
End With
End Sub
O processo esta funcionando perfeitamente;
Quanto a prorrogação do uso programa eu libero uma nova data para o usuário que busca via transferência de dados por FTP.
Caso não seja isso, poste mais informações.
Uso em meu programa a seguinte forma;
1o. salvo no banco de dados a data limite para utilização do programa
2o. sempre que o usuário entra no sistema salva a data do dia que ele acessou o programa
tabela Asgard.seguranca
id: 1
limite: 2012/12/31
atual: 2012/07/21
Quando o usuário entra no sistema (login) salva a data atual e verifica se a data no banco de dados é maior do que a data limite.
Verifica se a data do computador é diferente da data atual do banco de dados antes de salvar para impedir que o usuário volte a data do computador para usar o programa apos o vencimento do limite de uso;
Segue os códigos que estou usando:
Private Sub heimdall()
Dim permicao As Date
Dim permicao1 As Date
Dim atual As String
On Error GoTo errabrir
permicao = Now
permicao1 = Now
mycon.Open [Ô]dsn=asgard_salles[Ô]
With mycmd
Set .ActiveConnection = mycon
.CommandType = adCmdText
.CommandText = [Ô]Select *from heimdall_security where permitido_ate > [ô][Ô] & Format(permicao, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] [Ô]
Set myrs = .Execute
.CommandText = [Ô]update heimdall_security set [Ô] & _
[Ô]day_now = [ô][Ô] & Format(permicao, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô][Ô]
.Execute
If myrs!permitido_ate <= (permicao + 10) Then
MsgBox [Ô] LICENÇA DE USO DO PROGRAMA[Ô] & vbCrLf & vbCrLf & _
[Ô]Prezado usuário;[Ô] & vbCrLf & vbCrLf & _
[Ô]Informamos que a sua licença de uso vencerá no dia [Ô] & Format(myrs!permitido_ate, [Ô]dd/mm/yyyy[Ô]) & [Ô].[Ô] & vbCrLf & _
[Ô]Pedimos a getileza de informar ao administrativo, caso ao contrário, o programa irá[Ô] & vbCrLf & _
[Ô]perder toda a sua funcionalidade.[Ô] & vbCrLf & vbCrLf & _
[Ô]Atenciosamente,[Ô] & vbCrLf & _
[Ô]Suporte Asgard[Ô], vbInformation, [Ô]Asgard[Ô]
End If
End With
With myrs
If .EOF And .BOF Then
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
MsgBox [Ô] O limite de uso do sistema acabou, favor informar ao administrativo[Ô], vbCritical, [Ô]Projeto Asgard[Ô]
Unload Me
Exit Sub
[ô] limpar
End If
End With
saida:
Set myrs = Nothing
Set rs = Nothing
Set mycmd = Nothing
mycon.Close
errabrir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Erro ao entrar no sistema.[Ô], vbCritical, [Ô]Objetivo[Ô]
.Number = 0
Me.txtNome.SetFocus
Unload Me
Exit Sub
End If
End With
End Sub
Private Sub heimdall_time()
Dim permicao1 As Date
[ô]on Error GoTo errabrir
permicao1 = Now
mycon.Open [Ô]dsn=asgard_salles[Ô]
With mycmd
Set .ActiveConnection = mycon
.CommandType = adCmdText
.CommandText = [Ô]Select *from heimdall_security where day_now <= [ô][Ô] & Format(permicao1 + 1, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô] [Ô]
Set myrs = .Execute
End With
With myrs
If .EOF And .BOF Then
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
MsgBox [Ô] O limite de uso do sistema acabou, favor informar ao administrativo[Ô], vbCritical, [Ô]Projeto Asgard[Ô]
Unload Me
Exit Sub
[ô] limpar
End If
End With
saida:
Set myrs = Nothing
Set mycmd = Nothing
mycon.Close
errabrir:
With Err
If .Number <> 0 Then
MsgBox [Ô]Erro ao entrar no sistema.[Ô], vbCritical, [Ô]Objetivo[Ô]
.Number = 0
Me.txtNome.SetFocus
Exit Sub
End If
End With
End Sub
O processo esta funcionando perfeitamente;
Quanto a prorrogação do uso programa eu libero uma nova data para o usuário que busca via transferência de dados por FTP.
Caso não seja isso, poste mais informações.
Caro amigo, proimeiro obrigado por me atender! Já trabalho com access à mais de 15 anos, nunca precisei editar no VBA, semore quebrei o galho usando regra de validação. e cenverdento para MDE. para evitar que o usuário fizesse alterações. Confesso que não sei como criar esse recurso. Vc. poderia me dá o passo apasso, ficarei muito grato. Se tiver algum custo faço questão de pagar.
Ogrigado.
PS: Estou na cidade de Barreiras BA e aqui não tem nunguém que possa me ajudar, muito menos me ensinar um pouco mais sobre o VBA
1o. salvo no banco de dados a data limite para utilização do programa
2o. sempre que o usuário entra no sistema salva a data do dia que ele acessou o programa
Ogrigado.
PS: Estou na cidade de Barreiras BA e aqui não tem nunguém que possa me ajudar, muito menos me ensinar um pouco mais sobre o VBA
1o. salvo no banco de dados a data limite para utilização do programa
2o. sempre que o usuário entra no sistema salva a data do dia que ele acessou o programa
Tópico encerrado , respostas não são mais permitidas