Bom dia pessoal,
Necessito de uma ajudinha, seguinte:
Tenho um pequeno BD. Tenho a tabela (CADASTRO DE ALUNOS) e um Formulário onde, adiciono salvo excluo e consulto os registros (os botões mais simples que já tem no access pré-definos). Porém, quando eu faço uma consulta no BD ele me traz os dados, digamos assim já editados, possibilitando alterações imediatas no registro e eu queria que a consulta não permitisse isso, ou seja, chamei o registro e para alterá-lo é necessário clicar no botão editar.
Realizei Pesquisas no Fórum e localizei uma função que serve para isso, porém com subformulário, acho que é coisa simples de alterar, mas como nao tenho tanto conhecimento assim, nao entendo algumas linhas da função, trago ela para exemplo:
Isso é bem o que eu quero, mas sem subformulário ( o exemplo está em: http://maximoaccess.forumeiros.com/t573-resolvidosprotecao-do-formulario-e-de-seu-subformulario-usando-funcao-que-interage-com-a-tag-dos-controles
Public Function BloqueiaControles(strFrm As Form) As String
'By JPaulo ® Maximo Access
Dim ctl As Control
For Each ctl In strFrm.Controls -------------------------------------------------------------> isso seria o nome do meu Form?
If InStr(1, ctl.Tag, "A") Then 'Só os controles que tiverem na linha Marca (Tag) a letra "A" ----> Não entendi nada dessa linha o que fazer?
ctl.Visible = True 'se desejar que fique visivel o campo --------------------------------------> ok
ctl.Locked = True 'se desejar bloquear o campo--------------------------------------------->ok
ctl.Enabled = False 'se desejar ativar o campo---------------------------------------------->ok
End If
Next ctl
End Function
botão para EDITAR, quando pressionar desbloqueia todos os controles com a função: ------->ok
Private Sub BotaoEditar_Click()
Call DesBloqueiaControles(Me)
End Sub
Public Function DesBloqueiaControles(strFrm As Form) As String
'By JPaulo ® Maximo Access
Dim ctl As Control
For Each ctl In strFrm.Controls----------------------------------------------------------->???
If InStr(1, ctl.Tag, "A") Then 'Só os controles que tiverem na linha Marca (Tag) a letra "A" -->???
ctl.Visible = True 'se desejar que fique visivel o campo
ctl.Locked = False 'se desejar bloquear o campo
ctl.Enabled = True 'se desejar ativar o campo
End If
Next ctl
End Function
Desde já obrigado.
Lamcarter
Necessito de uma ajudinha, seguinte:
Tenho um pequeno BD. Tenho a tabela (CADASTRO DE ALUNOS) e um Formulário onde, adiciono salvo excluo e consulto os registros (os botões mais simples que já tem no access pré-definos). Porém, quando eu faço uma consulta no BD ele me traz os dados, digamos assim já editados, possibilitando alterações imediatas no registro e eu queria que a consulta não permitisse isso, ou seja, chamei o registro e para alterá-lo é necessário clicar no botão editar.
Realizei Pesquisas no Fórum e localizei uma função que serve para isso, porém com subformulário, acho que é coisa simples de alterar, mas como nao tenho tanto conhecimento assim, nao entendo algumas linhas da função, trago ela para exemplo:
Isso é bem o que eu quero, mas sem subformulário ( o exemplo está em: http://maximoaccess.forumeiros.com/t573-resolvidosprotecao-do-formulario-e-de-seu-subformulario-usando-funcao-que-interage-com-a-tag-dos-controles
Public Function BloqueiaControles(strFrm As Form) As String
'By JPaulo ® Maximo Access
Dim ctl As Control
For Each ctl In strFrm.Controls -------------------------------------------------------------> isso seria o nome do meu Form?
If InStr(1, ctl.Tag, "A") Then 'Só os controles que tiverem na linha Marca (Tag) a letra "A" ----> Não entendi nada dessa linha o que fazer?
ctl.Visible = True 'se desejar que fique visivel o campo --------------------------------------> ok
ctl.Locked = True 'se desejar bloquear o campo--------------------------------------------->ok
ctl.Enabled = False 'se desejar ativar o campo---------------------------------------------->ok
End If
Next ctl
End Function
botão para EDITAR, quando pressionar desbloqueia todos os controles com a função: ------->ok
Private Sub BotaoEditar_Click()
Call DesBloqueiaControles(Me)
End Sub
Public Function DesBloqueiaControles(strFrm As Form) As String
'By JPaulo ® Maximo Access
Dim ctl As Control
For Each ctl In strFrm.Controls----------------------------------------------------------->???
If InStr(1, ctl.Tag, "A") Then 'Só os controles que tiverem na linha Marca (Tag) a letra "A" -->???
ctl.Visible = True 'se desejar que fique visivel o campo
ctl.Locked = False 'se desejar bloquear o campo
ctl.Enabled = True 'se desejar ativar o campo
End If
Next ctl
End Function
Desde já obrigado.
Lamcarter