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

4 participantes

    Módulo

    avatar
    Vardost
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 18/05/2015

    Módulo Empty Módulo

    Mensagem  Vardost 15/11/2017, 13:38

    Como faço para que este código seja transformado em um módulo, visto que o mesmo vai em diversos formulários. Como não sou familiarizado com módulos não estou conseguindo criar este módulo. Segue código abaixo que está nos formulários:

           If IsNull(Me.Responsavel) Then
           Me.SenhaResp.SetFocus
           MsgBox "Senha incorreta ou não cadastrada", vbCritical
           Status = "Em Aberto"
           Else
           Status = "Fechado"
           End If


    Desde já agradeço e aguardo retorno.

    Att,

    Valdenir
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    Módulo Empty Re: Módulo

    Mensagem  CassioFabre 17/11/2017, 17:48

    Boa tarde,

    Todos os formulários conterão os campos "Responsável" e "SenhaResp"?

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8272
    Registrado : 05/11/2009

    Módulo Empty Re: Módulo

    Mensagem  Alexandre Neves 18/11/2017, 20:35

    Boa noite,
    Código:
    Sub TestaSenha(frm As Form)
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '  código criado por Alexandre Neves, do Fórum MaximoAccess                                                '
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        If IsNull(Forms(frm).Responsavel) Then
            Forms(frm).SenhaResp.SetFocus
            MsgBox "Senha incorreta ou não cadastrada", vbCritical
            Forms(frm).Status = "Em Aberto"
        Else
            Forms(frm).Status = "Fechado"
        End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Vardost
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 18/05/2015

    Módulo Empty Módulo

    Mensagem  Vardost 4/5/2021, 12:54

    Boa tarde, desculpem por não ter respondido este tópico antes, pois eu tinha dois logins e não sabia, ontem por acaso escolhi este login e coloquei uma senha e acabei entrando e nem sabia.

    Mas vamos lá. Eu acabei melhorando mais o código e gostaria de transformar este código abaixo descrito em um módulo assim facilitaria muito minha programação. Tenho um campo "senharesp" eu um campo "responsavel", o campo ao receber o foco tem este código que eu quero transformar em um módulo:

    Ao receber foco no campo "responsavel" tenho este código:

    Dim banco As DAO.Database
    Dim Rslogin As DAO.Recordset

    Set banco = CurrentDb
    Set Rslogin = banco.OpenRecordset("SELECT TBL_USUARIO.assinatura FROM TBL_USUARIO WHERE (((TBL_USUARIO.Senha) = '" & SenhaResp & "')) GROUP BY TBL_USUARIO.assinatura")

       If Rslogin.RecordCount > 0 Then
           Me.Responsavel = Rslogin(0)
           Exit Sub
       Else
           MsgBox "Senha incorreta ou não cadastrada", vbInformation, "SGQ"
           Me.SenhaResp.SetFocus
       End If
       
       Rslogin.Close
       banco.Close
       Set Rslogin = Nothing

    Como não consegui chamar peço também que me passe o código para eu chamar o módulo, pois o que testei aqui deu erro e não consegui entender a metodologia dos módulos ainda.

    Att,

    Valdenir
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Módulo Empty Re: Módulo

    Mensagem  Alexandre Fim 4/5/2021, 14:28

    Valdenir bom dia,

    O módulos são objetos utilizados para declaração de variáveis globais (variáveis utilizados em todo o sistema), constantes, procedimentos, declarações de API do Windows e também armazenar funções genéricas, que são utilizadas em todo o sistema.
    Exemplos de funções:
    - Limpar campos
    - Bloquear campos
    - Habilitar/Desabilitar botões de comando de formulários
    - Funções para cálculos de nº de dias de um período de datas, cálculo de idade, valor de parcelas de um determinado valor
    - Validações de preenchimento de campos


    Espero ter ajudado a elucidar sua dúvida sobre Módulo.

    []'s

    FIM




    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Módulo Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Vardost
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 18/05/2015

    Módulo Empty Módulo

    Mensagem  Vardost 4/5/2021, 14:34

    Bom dia Alexandre, obrigado pela resposta.

    Então este código que utilizo em todos os formulários não é possível criar um módulo para que eu não precise programar em todos os formulários.


    Att,

    valdenir
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Módulo Empty Re: Módulo

    Mensagem  Alexandre Fim 4/5/2021, 18:58

    Olá Valdenir,

    Fiz um pequeno exemplo com módulo e algumas funções que são aplicadas em qualquer formulário.

    Tem o formulário de login que tem validação através de uma função, dentro do módulo.
    Módulo Logim_10

    Segue também formulário de exemplo com vários controles (textbox, combobox. listbox, option group, check box).
    Módulo Exempl11



    Espero ter ajudado

    []'s

    FIM
    Anexos
    Módulo AttachmentModeloLogin.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (45 Kb) Baixado 25 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Módulo Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Vardost
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 18/05/2015

    Módulo Empty Módulo

    Mensagem  Vardost 5/5/2021, 13:16

    Bom dia Alexandre,

    Muito obrigado pela sua atenção, foi de muito valia este modelo e vou utilizar no meu projeto, porem especificamente conforme o meu código passado acima eu não valido a senha, eu simplesmente tenho um código que ao digitar a senha no formulário eu simplesmente preencho o campo "responsavel" através da senha e finalizo a tarefa através da mudança de status do form "Em aberto" para "Finalizado". Este código que eu queria transformar em um módulo, lembrando que todos os formulários tem o mesmo campo "senharesp" e "responsavel".
    Eu não consegui adaptar seu código e não consegui chamar o módulo.

    Espero ter sido claro.

    Att,

    Valdenir
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Módulo Empty Re: Módulo

    Mensagem  Alexandre Fim 5/5/2021, 13:55

    Valdenir,



    Ao receber foco no campo "responsavel" tenho este código:

    Dim banco As DAO.Database
    Dim Rslogin As DAO.Recordset

    Set banco = CurrentDb
    Set Rslogin = banco.OpenRecordset("SELECT TBL_USUARIO.assinatura FROM TBL_USUARIO WHERE (((TBL_USUARIO.Senha) = '" & SenhaResp & "')) GROUP BY TBL_USUARIO.assinatura")

    If Rslogin.RecordCount > 0 Then
    Me.Responsavel = Rslogin(0)
    Exit Sub
    Else
    MsgBox "Senha incorreta ou não cadastrada", vbInformation, "SGQ"
    Me.SenhaResp.SetFocus
    End If

    Rslogin.Close
    banco.Close
    Set Rslogin = Nothing




    Conforme vc mencionou anteriormente, a validação é feita quando campo "Responsável" recebe o foco.
    Este campo já estava preenchido?

    Essa verificação do responsável é feita quando vai gravar o registro, tipo uma "Autorização" do responsável?

    Por gentileza, envie seu banco de dados (somente objetos envolvidos - formulário/tabela/consulta pertinentes ao problema) para análise.

    []'s

    FIM






    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Módulo Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Vardost
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 18/05/2015

    Módulo Empty Módulo

    Mensagem  Vardost 5/5/2021, 14:37

    Sim alexandre,

    O código está no campo responsável ao receber o foco, neste caso se a senha estiver ok ele prossegue alterando o status do registro e preenchendo o campo responsavel conforme a senha buscou, caso contrario retorna ao campo senha do responsavel.

    Segue banco de dados. Com campo responsavel está o mesmo código acima que queria transformar em um módulo para assim diminuir as linhas de programações.
    Anexos
    Módulo AttachmentBE - Copia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.1 Mb) Baixado 3 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Módulo Empty Re: Módulo

    Mensagem  Alexandre Fim 5/5/2021, 16:07

    Valdenir,


    Eu te mandei os exemplos de módulos e funções com comentários no código.
    Vc leu? Conseguiu entender?

    No exemplo que vc mandou criei um módulo e dentro dele tem a função FN_ValidaResp que é chamada no setfocus do campo, porém, fica meio confuso quando o campo Responsavel recebe o foco.

    Segue versão.

    OBS.: O código do sistema está confuso ! Tem muitos objetos sem o devido nome. (ex. Botão "Comando4" que deveria estar como btn_gravar ou cmdGravar)
    Também estava com erros nas imagens dos botões e etc.

    Espero ter ajudado

    Boa sorte

    []'s


    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Módulo Setinf11
    Sistemas e Tecnologia Ltda

      Data/hora atual: 1/2/2023, 06:59