MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Bloquear campos de registros específicos

    Compartilhe

    allexxnunes
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 36
    Registrado : 11/03/2013

    Bloquear campos de registros específicos

    Mensagem  allexxnunes em 9/12/2013, 16:10

    Tenho um registro para cadastro de projetos. Anualmente novos projetos são cadastrados. Há um campo "ANO"...enfim, preciso de um botão que bloqueie os campos, porém não pode ser te todo o formulário, mas apenas os registros de determinado ano. Por exemplo, no fim do ano 2013 precisaria que ao apertar o botão todos os registros do ano 2013 fiquem bloqueados, mas os demais fiquem editáveis. E no fim de 2014 eu bloquearia os de 2014 ...
    Alguém pode ajudar?

    Convidado
    Convidado

    Re: Bloquear campos de registros específicos

    Mensagem  Convidado em 9/12/2013, 16:58

    Olá, tem como postar seu bd ou a parte envolvida no seu pedido de ajuda?

    Convidado
    Convidado

    Re: Bloquear campos de registros específicos

    Mensagem  Convidado em 9/12/2013, 19:21

    Tenta lá, primeiro abre um módulo em branco e cola isso e salva o módulo com nome do seu gosto:

    Public Function Desabilita(argFrm As Form)
    Dim ctl As Control
    For Each ctl In argFrm.Controls
    With ctl

    Select Case .ControlType

    Case acTextBox 'Desabilita as Caixas de Texto
    .Enabled = False

    Case acComboBox 'Desabilita as Caixas de combinação
    .Enabled = False

    Case acSubform 'Desabilita Subformulário
    .Enabled = False
    End Select
    End With
    Next ctl
    End Function

    Public Function Habilita(argFrm As Form)
    Dim ctl As Control
    For Each ctl In argFrm.Controls
    With ctl

    Select Case .ControlType

    Case acTextBox 'Habilita as Caixas de Texto
    .Enabled = True

    Case acComboBox 'Habilita as Caixas de combinação
    .Enabled = True

    Case acSubform 'Habilita Subformulário
    .Enabled = True

    End Select
    End With
    Next ctl
    End Function

    no evento atual do formulário isso: Todos os anos anteriores ao atual ficarão com os campos desabilitados.

    If Year(SeuCampoData) < Year(Date) Then
    Call Desabilita(Form_NomeDoSeuFormulário)
    Else
    Call Habilita(Form_NomeDoSeuFormulário)
    End If

      Data/hora atual: 24/6/2018, 21:23