Ir para conteúdo
Fórum Script Brasil
  • 0

Bloquear Caixa De Texto


Akuma13

Pergunta

Boa tarde!

alguém sabe como eu posso bloquear algumas caixas de texto do meu formulário após somente se estiverem preenchidas e somente quando o usuário clicar no botão "Salvar" ?

Eu fiz alguma coisa +/- assim

Na procedure do botão Salvar eu coloquei:

if caixa = "" then

caixa.enabled = true

else

caixa.enabled = false

Coloquei isso mas não funcionou, eu não tenho experiência em VBA gostaria de saber se alguém já fez esse tipo de consistência e poderia ajudar, o meu método não deu certo pois as vezes funciona as vezes não e quando ele bloqueia um campo ao você navegar pelos outros registros a mesma caixa dos outros registros fica bloqueada mesmo se não tiver nada de dados.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

opa...se quase conseguiu cara...

nunca fiz o seu exemplo, mas akbei de realizar uns testes aqui e deu muito certinhu...

no botão salvar, você faz quase igual ao que fez, só que dessa forma:

If IsNull(me.caixa) = True Then

me.caixa.Enabled = True

Else

me.caixa.Enabled = False

End If

ps.: use a função "éNulo", coloque o End If depois que terminar a função e não se esqueça do me. antes de declarar os objetos...

agora...pra fazer a mesma coisa quando você estiver navegando pelos registros, você vai ter que fazer a mesma programação nos botões "Próximo Registro", "Registro Anterior"...

pra isso, tira a Barra de Navegação do padrão access que tem embaixo de todos formulários e relatórios e crie os seus próprios botões de comando...

se você não souber tirar a Barra de Navegação, vai nas Propriedades do seu FORMULÁRIO, na guia TODAS procura o item Barra de Navegação...coloca como "não" que ela já sai...

aqui em baixo vou mandar um exemplo da programação de um botão "Próximo Registro" com os IF's pra fazer os campos bloquearem e desbloquearem do jeito que você quer:

Private Sub Comando4_Click()
On Error GoTo Err_Comando4_Click


'vai para o próximo registro DoCmd.GoToRecord , , acNext

'depois que for para o próximo registro, verificar quais campos estão em branco e habilitálos/desabilitálos
If IsNull(Me.CAMPO) = True Then
Me.CAMPO.Enabled = True
Else
Me.CAMPO.Enabled = False
End If


Exit_Comando4_Click:
Exit Sub

Err_Comando4_Click:
MsgBox Err.Description
Resume Exit_Comando4_Click[/codebox]

como você viu, é a mesma coisa que no botão salvar...

faz os testes aí e nos retorna seu resultado, ok?

abraço...fique com Deus!

Editado por Elber Carretoni
Link para o comentário
Compartilhar em outros sites

  • 0

Pô Elber ficou show!! Deu certinho, uma pergunta para todos os campos que eu quiser isso eu devo fazer essa consistência ? ou eu posso fazer uma função para aplicar em todos os campos ? Se puder fazer uma função como eu aplico e como eu faço ?

Valeu mais uma vez!

Link para o comentário
Compartilhar em outros sites

  • 0

rsrs....que bom que deu certo cara...

quando fiz os testes aqui pra responder sua dúvida, também ficou bem legal...

a idéia foi jóia!

cara...fazer uma função pra sozinha pegar o nome dos campos e gerar a linha de código? ixi meu..dae já num sei meo...não manjo muito de vba, muito menos vb...

acho que o que você pode é criar uma módulo com os códigos e toda hora que quiser fazer a mesma programação, apenas xamar o módulo...acho que tem como...

dá uma pesquisada...

acho que a função que xama o módulo é docmd.call...não me lembro!

abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...