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

(Resolvido) Tornar campos obrigatórios


RRH

Pergunta

Como eu faço pra impedir que o usuário do meu sistema crie um novo registro sem preencher todos os campos do formulário? Estão deixando campos do formulário em branco e criando novos registros. Quero dar uma engessada o sistema.

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

12 respostass a esta questão

Posts Recomendados

  • 0

Acabei implementando o seu exemplo aqui no meu bd, mas tem dois problemas:

1 - O bd possui campo numeração automatica que no forçar o sistema a fechar ele "engole" o número sequencial. Ex: se estiver no 1001 e forçar o bd a fechar ele vai abrir um novo registro com nr 1002 e o 1001 não vai estar visivel, entendeu?

2 - Após dar todos os ok nas mensagens que são exibidas informando os campos obrigatórios retorna msg de erro em tempo de execução 2501. O que é isso?

Link para o comentário
Compartilhar em outros sites

  • 0
Bom dia amigo,

Poste o seu BD aqui para os amigos do fórum tentar te ajudar.

O problema é que tem dados nele que não podem ser publicados. Será que não tem como além de tornar o preenchimento do formulário obrigatório bloquear o fechamento do bd sem terminar os lançamentos dos dados do formulário?

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz algumas mudanças e aparentemente vai funcionar! Preciso saber agora como fazer o código abaixo além de identificar caixas de texto nulas identificar tambem caixas de combinação nula:

Dim ctl As Control
    For Each ctl In Form.Controls
        If ctl.ControlType = acTextBox Then
            If IsNull(ctl) Or Len(ctl) = 0 Then
                MsgBox "Prencha o controle " & ctl.Name, _
                        vbExclamation, "Controle obrigatório"
                Cancel = True  'Cancela o evento, impedindo a atualização.
            End If
        End If
    Next
    
Sai:
    Set ctl = Nothing ' Libera memória.

Link para o comentário
Compartilhar em outros sites

  • 0

Deve funcionar assim:

Dim ctl As Control

For Each ctl In Form.Controls

If ctl.ControlType = acTextBox Then

If IsNull(ctl) Or Len(ctl) = 0 Then

MsgBox "Prencha o controle " & ctl.Name, _

vbExclamation, "Controle obrigatório"

Cancel = True 'Cancela o evento, impedindo a atualização.

End If

ElseIf ctl.ControlType = acComboBox Then

If IsNull(ctl) Or Len(ctl) = 0 Then

MsgBox "Prencha o controle " & ctl.Name, _

vbExclamation, "Controle obrigatório"

Cancel = True 'Cancela o evento, impedindo a atualização.

End If

End If

Next

Sai:

Set ctl = Nothing ' Libera memória.

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...