MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


+3
Carlos Cruz
delsonk
marialopes
7 participantes

    Código vba para bloquear BD usando critério data

    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Código vba para bloquear BD usando critério data

    Mensagem  marialopes 23/7/2018, 00:42

    Olá!
    Fiz um sistema para pet shop e quero comercializar, mas como não posso ter acesso remoto para bloquear o acesso em caso de não pagamento da mensalidade por parte do cliente, queria usar um código vba onde ele fosse bloqueado na data determinada ou qualquer outra forma que possibilite esse processo. Grata.
    avatar
    delsonk
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 26/11/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  delsonk 23/7/2018, 01:41

    Boa noite,


    Para o sistema parar de funcionar, faça com que ele só tenha acesso aos formulários, ou seja, quando ele iniciar o programa, já iniciar o formulário principal Aquele que você colocar para abrir quando carregar o sistema. É neste formulário que você coloca o código.
    Ficará mais ou menos assim.

    Private Sub Form_Open(Cancel As Integer)  'isto significa que deve colocar esta ação no evento ao abrir, se colocar for colocar pela propriedade do formulário, então não precisa digitar a linha de comando anterior.

    Dim Minhadata As String    'declara a variável Minhadata
    Dim Dia As Date, Mes As Date, Ano As Date  'cria as variáveis Dia, Mes e Ano
    Dia = 12   'especifica até que dia o sistema funcionará
    Mes = 9  'especifica ate que mês o sistema funcionará
    Ano = 2018 'e isto especifica até que ano
    Minhadata = Dia & "/" & Mes & "/" & Ano  

    If Date > Minhadata Then
    MsgBox "Este sistema expirou, contate o administrador para obter o acesso novamente"
    DoCmd.Quit
    End If

    End Sub
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Carlos Cruz 23/7/2018, 02:50

    Faça como o delsonk lhe passou. Depois faça o teste mudando a data do seu computador e se isso não censurado o código, ótimo! Se censurado, você pode liberar uma quantidade de lançamentos ao usuário, veja o último código criado automaticamente na tabela, depois no formulário ou subformulário, aba evento, ao carregar coloque o seguinte código:

    On Error Resume Next
    DoCmd.GoToRecord , , acLast
    If Código > 10 Then       ‘ If   “nomecamponumeracaoautomatica” > “quantidadecodigosliberados”
    MsgBox “Sistema Expirou, contacte o administrador”
    Quit
    End If

    Boa sorte!
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 23/7/2018, 12:45

    Muito grata pelas respostas, mas uma dúvida... uma vez que o sistema esteja bloqueado, como eu, na condição de administradora, acesso o sistema para desbloquear? Desculpa se a pergunta for primária, mas é esse o meu caso mesmo, aprendi sozinha e usando tempo disponível desde 2012 e finalmente consegui terminá-lo.
    avatar
    delsonk
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 26/11/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  delsonk 23/7/2018, 13:07

    Bom dia!

    Tente abrir o programa (formulário) com o botão SHIFT segurado!

    Sugiro que você divida o BD e forneça ao seus clientes somente o ACCDE (o arquivo executável, sem o código fonte).

    Abraço, Delson
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 23/7/2018, 16:33

    Eu havia bloqueado o uso do SHIFT. Vou testar as sugestões e dou retorno. Preciso saber ainda como faço para acessar novamente o sistema do cliente uma vez que foi bloqueado pelo código sugerido.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Assis 23/7/2018, 19:28



    .................................................................................
    *** Só sei que nada sei ***
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 24/7/2018, 00:51

    grata Assis, deixei uma dúvida lá. Smile
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Assis 24/7/2018, 09:38

    marialopes
    Importa todos os dados da sua BD para o meu exemplo.
    E no formulário Menu coloca os comandos necessários para abrir os formulários e relatórios que pretende.


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 27/7/2018, 00:13

    Assis, fiz o que falou. Mas ao executar esta dando erro:  Erro de compilação
                                                                                     Método ou membro de dados não encontrados
                                                                                      Me.txt_clock=time()
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Assis 27/7/2018, 00:32

    marialopes

    Esse erro é num formulário da sua BD.

    Compilando o seu BD, não dá esse erro ?

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 27/7/2018, 01:43

    removi a linha que acusava erro e tá ok agora. mas até então não estava apresentando esse erro, o bd rodava normalmente. Estou testando e dou retorno do resultado final.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Alexandre Fim 27/7/2018, 06:51

    Maria Lopes bom dia,

    Desenvolvi 2 sistemas, onde o "PETSys.accdb" é o sistema principal e o "PETLibera.accdb" é o que faz a liberação quando o período de vigência de utilização do sistema é encerrado.



    Funciona da seguinte forma:
    1 - Crie um diretório "C:\PETSys" e copie o "PETSys.accdb"


    1 - No "PETSys.accdb", existe uma tabela chamada "tbSys", onde constam a Data Inicial e Final da Vigencia de cada mês, e um campo de de status, chamado "LiberaVigencia", conforme abaixo:
    Código vba para bloquear BD usando critério data Libera10

    Observe que o período liberado é de 01/06/2018 à 30/06/2018.

    2 - Ao tentar executar o sistema, irá aparecer a seguinte mensagem:
    Código vba para bloquear BD usando critério data Msglib10
    Ao clicar "OK" da mensagem, o sistema é encerrado.

    3 - Desta forma, seu cliente irá entrar em contato pra que você envie a "Liberação" do sistema, e ai vc envia o  "PETLibera.accdb".
    Ao abrir o  "PETLibera.accdb", ele automaticamente informa na tela, a Data Inicial e Data Final do mês vigente, e os campos ficam desabilitados, e a cada mês é necessário enviar a liberação para o cliente.

    Código vba para bloquear BD usando critério data Libera11

    4 - Ao clicar em "Liberar", o "PETLibera.accdb" acessa o "PETSys.accdb" e atualiza o campo "LiberaVigencia" da "tbSys" para "S", usando como critério de seleção as datas inicio e fim do formulário.


    E ai o sistema está liberado !!!


    Seguem os arquivos(2 arquivos no mesmo .zip) para sua avaliação

    Boa sorte.

    []'s
    Anexos
    Código vba para bloquear BD usando critério data AttachmentPETSys.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (88 Kb) Baixado 71 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Alexandre Fim 27/7/2018, 15:16

    Ola Maria Lopes,

    Conseguiu baixar e testar os exemplos que te mandei?

    Assim que puder, nos informe.

    Abraço
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 1/8/2018, 12:36

    OLÁ Alexandre, consegui sim, muito grata, funciona direitinho mas tem o seguinte: alterando data do sistema, o cliente consegue reutilizar o sistema e é isso que preciso bloquear, pode me ajudar nisso?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Alexandre Fim 1/8/2018, 13:15

    Bom dia Maria,

    Realmente, o sistema está "aberto" para alterações, por se tratar de um exemplo apenas.

    Existem funções que bloqueiam as janelas do Access, bloqueiam também o acesso ao Modo Estrutura do Access através da tecla SHIFT e etc.


    Faça uma busca aqui no fórum, pois existem tópicos tratando este assunto. Segue link:

    https://www.maximoaccess.com/t33493-resolvidomodo-de-estrutura-inacecivel?highlight=Bloqueio+da+estrutura#230036





    OBS: Faça uma cópia de segurança do seu sistema antes de implementar estas rotinas, pois, dependendo da forma que for implementado, o sistema ficará bloqueado e voce não terá acesso à estrutura.

    Boa sorte.
    Marco Messa
    Marco Messa
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 291
    Registrado : 28/06/2010

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Marco Messa 3/8/2018, 18:39

    Maria, infelizmente se basear na data do sistema para liberar/bloquear o acesso ao sistema sempre poderá ser censurado de alguma maneira, e talvez você não deva se preocupar tanto com pessoas que irão se empenhar em censurado o seu sistema. Segue aqui uma resposta no StackOverflow falando sobre isso:
    stackoverflow.com/questions/5488249/how-do-i-enforce-an-expiration-date-for-a-trial-install-of-my-software#answer-5488752
    Copiar e colar no navegador [Não são permitidos links externos]

    Agora, se você realmente estiver disposta a verificar a validade do sistema mesmo que o usuário altere a data do Windows, tenho algumas sugestões para você tentar:


    1. Utilizar o WinSock para abrir uma conexão com a internet e buscar a data atual de um servidor online como por exemplo o ntp.br e utilizar essa data para validação;
    2. Gravar a data de ativação no sistema internamente e a cada registro que ele criar (pode ser da tabela principal ou de todas) gravar a data de utilização do sistema, assim ele não poderia voltar nunca a data para algo entre a data de ativação e a maior data de utilização;
    3. Ter um identificador único dentro do sistema que validaria em uma base sua online se aquele ID ainda está ativo naquela data, nesse caso você nem precisaria utilizar a data interna.


    Para todas essas validações online, você pode fazer com que o sistema seja obrigado a verificar apenas a primeira utilização no dia, não dependendo mais de internet durante o restante do dia.


    .................................................................................
    Tea with me that I book your face Cool
    avatar
    marialopes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  marialopes 4/8/2018, 14:26

    Marco , grata pelas dicas.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Alvaro Teixeira 4/8/2018, 17:37

    Olá a todos,

    Maria Lopes, não testei nem vi o exemplo do colega.
    Mas se a questão é a alteração da data do sistema, pode verificar essa situação, veja se ajuda:
    https://www.maximoaccess.com/t33612-resolvidoretirar-horas-de-data-obtida-pela-internet

    Abraço a todos
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3495
    Registrado : 13/12/2016

    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Alexandre Fim 4/8/2018, 18:10

    Maria boa tarde,

    Existe um procedimento que pode ser feito via programação, que permite escrever e recuperar informações do registro do Windows (regedit), alterando a chave do seu sistema no registro, onde o usuário não teria acesso.
    Mesmo que ele altere a data da máquina, não seria possível ele censurado, porque dependeria de uma alteração nesta chave, e esta alteração seria feito pelo arquivo que você enviaria todo mês para o usuário atualizar a data de vigência do sistema.

    Vou fazer um teste aqui no exemplo que te mandei e depois te envio.

    []'s

    Conteúdo patrocinado


    Código vba para bloquear BD usando critério data Empty Re: Código vba para bloquear BD usando critério data

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 21:17