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


2 participantes

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    avatar
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 17:07

    Olá pessoal, boa tarde!

    Estou com um problema na execução de um código que faz com que todos os campos (combos e tudo mais) sejam desabilitadas do formulário. O código funciona bem, mas ele desabilita todos os registros contidos no formulário e eu preciso desabilitar um registro específico. Pelo que eu entendi, eu deveria colocar este código no evento "No atual" do formulário e então criar um botão permitindo a edição dos dados, contudo eu quero dar a possibilidade de desativar e reativar o registro ao usuário através de dois botões "Desativar CN" e "Reativar CN". Como faço para funcionar deste jeito? Abaixo estão os códigos que utilizei:

    Para desativar:

    Private Sub Desativar_CN_Click()
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End Sub

    Para reativar:

    Private Sub Reativar_CN_Click()
    If MsgBox("Deseja realmente reativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = True
    End Select
    Next ctl
    End Sub

    Obrigado pela atenção pessoal, este fórum tem me ajudado muito!

    PS: Esta foi a minha fonte inicial para a construção do código: http://maximoaccess.forumeiros.com/t8631-resolvidobloquear-todos-os-campos-do-formulario-e-botao-editar
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 18:00

    Boa tarde,

    Para desactivar:

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    if me.Bookmark = rst.Bookmark then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    end if
    set rst=nothing
    End Sub

    Para reactivar:

    Private Sub Reativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    if me.Bookmark = rst.Bookmark then
    If MsgBox("Deseja realmente reativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = True
    End Select
    Next ctl
    end if
    set rst=nothing
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 18:16

    Olá Alexandre, boa tarde. Obrigado pela ajuda, mas ainda não está funcionando! Quando executo a ação é a presentada uma mensagem de erro que diz: Erro de compilação "Tipos incompatíveis". No código o sinal de "=" fica em evidência. Isto acontece com os dois botões. O que será que ocorreu?

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    if me.Bookmark = rst.Bookmark then (Esta linha)
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    end if
    set rst=nothing
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 18:43

    Substitua X pelo nome do campo identificador do registo
    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    Rst.Filter = "X=" & me.NomeControloX
    if me.Bookmark = rst.Bookmark then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    end if
    set rst=nothing
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 19:14

    Olá Alexandre, mais uma vez muito obrigado pela ajuda.

    Fiz como você me instruiu, mas ainda não deu certo. Escolhi o campo com a chave primária e numeração automática ("CodCons") como o identificador do registro, mas tá a parecendo esta mensagem quando clico nos botões: "Erro de compilação: Método ou membro de dados não encontrado" e a linha em vermelho fica destacada. Veja como fiz:

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.Filter = "CodCons=" & Me.NomeControloCodCons
    If Me.Bookmark = rst.Bookmark Then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End If
    Set rst = Nothing
    End Sub

    Obrigado pela atenção e me desculpe pelo trabalho, não manjo muito de programação!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 19:16

    A vermelho deve ter o nome do controlo que contém o CodCons.


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 19:25

    Desculpe brother, mas o que seria isto "NomeControlo"? É apenas o nome do campo "CodCons"? Traduza pra mim, hehe...

    Valeu!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 19:26

    O campo chama-se CodCons
    O controlo deverá chamar-se TxtCodCons se fôr caixa de texto, CxcCodCons se fôr caixa de combinação, etc (pode até não ter nome normalizado)


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 19:37

    Seria este o código correto então?

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.Filter = "CodCons=" & Me.TxtCodCons
    If Me.Bookmark = rst.Bookmark Then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End If
    Set rst = Nothing
    End Sub

    Pq eu escrevi isto e o erro anterior continua ocorrendo Sad . Experimentei mudar de campo e aconteceu a mesma coisa.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 19:38

    Coloque
    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.Filter = "CodCons=" & Me.TxtCodCons
    rst=rst.openrecordset
    If Me.Bookmark = rst.Bookmark Then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End If
    Set rst = Nothing
    End Sub

    Se não der certo, anexe a bd


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 19:47

    Não funcionou! Aqui está o link: https://drive.google.com/file/d/0B1soiFmmCAuGQlhldU1QREF4RFE/edit?usp=sharing

    A senha é: trabalho13.

    Mais uma vez obrigado pela ajuda brother.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 19:49

    Reveja a hiperligação
    Foi para "Gliceroquímica"


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 19:49

    Me desculpe! hehehe. Não sei o que aconteceu, já corrigi.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 19:56

    Colocou TxtCodCons mas não tem nenhum controlo com este nome
    Para o campo CodCons tem o controlo CodCons (não tem nome normalizado)

    Não enviou dados para testar
    Assim, coloque
    rst.Filter = "CodCons=" & Me.CodCons


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 20:06

    Poxa amigão... me desculpe. Como lhe disse não manjo muito de programação, sei o que quero, mas tenho muita dificuldade pra entender o algoritmo. Fiz como vc me instruiu, mas aparece uma mensagem de erro dizendo: "Erro de compilação: Uso inválido da propriedade" e a linha em vermelho aparece destacada . Com você aí funcionou? Pra testar eu apenas alimentei um campo qualquer no formulário, é o suficiente?

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.Filter = "CodCons=" & Me.CodCons
    rst = rst.OpenRecordset
    If Me.Bookmark = rst.Bookmark Then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End If
    Set rst = Nothing
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 20:08

    Foi erro
    set rst = rst.OpenRecordset


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 20:19

    Brother na boa vc vai me xingar, mas não funcionou  lol! . Apareceu outro erro dizendo: "Erro de compilação: Tipos incompatíveis" e a linha em vermelho ficou destacada. Véio se quiser dar um tempo eu vou entender, não comprometa o seu domingo por minha causa! MUITO obrigado mesmo pela dedicação.

    Private Sub Desativar_CN_Click()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.Filter = "CodCons=" & Me.CodCons
    Set rst = rst.OpenRecordset
    If Me.Bookmark = rst.Bookmark Then
    If MsgBox("Deseja realmente desativar CN?", vbYesNo) = vbNo Then Cancel = True
    Dim ctl As Control
    Dim StrName As String
    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    End If
    Set rst = Nothing
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 20:21

    É estranho, coloque a bd com alguns dados fictícios mas representativos.
    estamos perto do gato


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 20:31

    Beleza! Inseri alguns dados (formulário "Consultoras"), nada demais, é mais ou menos assim mesmo!

    Link:https://drive.google.com/file/d/0B1soiFmmCAuGUU9CNDBYTTVvR2s/edit?usp=sharing

    Valeu!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 20:38

    Agora, surgiu a dúvida como deve querer que funcione
    Como controla o bloqueio? quer bloquear apenas enquanto está no registo ou sempre até desbloquear
    Se for enquanto está no registo, pode bloquear e, ao sair do registo, desbloqueia
    Se for sempre, deve ter um campo na tabela para indicar se o registo será bloqueado ou não


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 20:46

    Não entendi muito bem a diferença, mas o que preciso é que quando bloquear através do botão "Desativar CN" um dos "n" registros que este formulário em específico conterá, este registro com todas as informações que tiverem sido inseridas fique visível, mas não permita edição. Quando o usuário clicar no botão "Reativar CN" os todos os campos do registro em específico voltem a permitir edição. Como havia falado no começo, o código que encontrei bloqueava tudo, inclusive os outros registros que eu havia cadastrado!
    avatar
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 20:49

    Ahhh.. percebi a diferença! Não, eu preciso que mesmo que eu feche e reabra o formulário o registro continue bloqueado para edições!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 5/1/2014, 21:31

    1 - criei campo Bloqueia na tabela
    2 - criei controlo VerBloqueia invisível no formulário
    3 - o código dos botões bloqueiam/desbloqueiam os controlos do formulário e actualizam o campo na tabela
    4 - no registo corrente, tem código para verificar se deve bloquear ou desbloquear os controlos
    https://dl.dropboxusercontent.com/u/24017093/MaximoAccess/Consultoras%20-%20Recente%202.accdb


    .................................................................................
    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
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 21:33

    O link não está funcionando brother!
    avatar
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 21:35

    Agora foi, vou baixar!
    avatar
    José Faustino Filho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 31/12/2013

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  José Faustino Filho 5/1/2014, 21:55

    Brother tá quase perfeito! Eu fiz o seguinte: bloqueei o registro que lhe enviei e inseri um novo registro e não o bloqueei e salvei. Contudo, quando uso as setas verdes na parte de cima do formulário para navegar entre os registros para voltar para o registro bloqueado, o bloqueio some e os campos voltam a aceitar edição.

    Mais uma vez muito obrigado brow!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Alexandre Neves 7/1/2014, 20:25

    Boa noite,
    Nas setas tem macros, quando deveria ter código VBA para ter a capacidade de execução como indiquei


    .................................................................................
    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

    Conteúdo patrocinado


    Desativar e ativar todos os campos de um registro específico de formulário através de um botão Empty Re: Desativar e ativar todos os campos de um registro específico de formulário através de um botão

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 10:04