MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

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

    Compartilhe

    José Faustino Filho
    Novato
    Novato

    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

    Mensagem  José Faustino Filho em Dom 05 Jan 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: [Você precisa estar registrado e conectado para ver este link.]

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 2014, 19:25

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

    Valeu!

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 2014, 19:47

    Não funcionou! Aqui está o link: [Você precisa estar registrado e conectado para ver este link.]

    A senha é: trabalho13.

    Mais uma vez obrigado pela ajuda brother.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 2014, 19:49

    Me desculpe! hehehe. Não sei o que aconteceu, já corrigi.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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!

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Dom 05 Jan 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
    [Você precisa estar registrado e conectado para ver este link.]


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

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 2014, 21:33

    O link não está funcionando brother!

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 2014, 21:35

    Agora foi, vou baixar!

    José Faustino Filho
    Novato
    Novato

    Respeito às Regras 100%

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

    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 em Dom 05 Jan 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
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em Ter 07 Jan 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

      Data/hora atual: Qui 08 Dez 2016, 23:58