MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    Campo obrigatorio em um sub formulario

    Compartilhe
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    [Resolvido]Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 00:38

    Boa noite a todos.

    Recorro novamente aos amigos do Fórum com uma dúvida que é a seguinte
    Uso o seguinte código em um sub formulário para não deixar campos vazio

    If IsNull(Me.Texto38) Or Me.Texto38 = "" Then o
    MsgBox "Preencha o campo COM O VALOR DO CUSTO!", vbInformation, " A t e n ç ã o. "
    Me.Texto38.SetFocus 'Move o foco para o controle
    Exit Sub
    ElseIf IsNull(Me.EntradaQuantidade) Or Me.EntradaQuantidade = "" Then
    MsgBox "Preencha o campo QUANTIDADE DO PRODUTO!", vbInformation, " A t e n ç ã o. "
    Me.EntradaQuantidade.SetFocus
    Exit Sub
    Else
    'MsgBox "Gravado com sucesso", vbInformation, "Gravado"
    'DoCmd.Save acForm, "entrada"
    Me.Refresh
    End If.

    Gostaria que ao clicar no botão para salvar no formulário fosse verificado se os campos do Sub Formulário estiverem em branco ele executasse o módulo acima.

    Sou grato pela atenção de todos.
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 02:38

    Olá

    Tente colocar seu código no evento Antes de atualizar do form, porém referenciando o subform:

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(Len(Me!SeuSubform.Texto38), 0) = 0 Then
    Cancel = True
    MsgBox "Preencha o campo COM O VALOR DO CUSTO!", vbInformation, " A t e n ç ã o. "
    ElseIf Nz(Len(Me!SeuSubform.EntradaQuantidade), 0) = 0 Then
    Cancel = True
    MsgBox "Preencha o campo QUANTIDADE DO PRODUTO!", vbInformation, " A t e n ç ã o. "
    Else
    'MsgBox "Gravado com sucesso", vbInformation, "Gravado"
    'DoCmd.Save acForm, "entrada"
    Me.Refresh
    End If


    Última edição por norbs em 14/12/2011, 21:02, editado 2 vez(es)
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 13:34

    Norbs
    desta maneira da erro, objeto não referenciado(subform)
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 13:45

    Substituiu a palavra Subfor pelo nome do seu formulário?
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 19:00

    Foi feito a substituição do nome ai que esta o erro Norbs
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 19:04

    Os campos Texto38 e EntradaQuantidade estão dentro do subform, quando eu clico no botão salvar do formulario da o erro referenciado(subform).

    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 19:12

    Editei o código lá em cima.
    Teste de novo. Verifique o código pra ver se combina com sua estrutura.
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 20:14

    Norbs, continua dando erro em
    If Len(Me!EntradaDetalhe.Texto38) = 0 Then
    Cancel = True

    Coloquei ao perder foco do campo, mas em todas outras formas da erro.

    Cara, sou muito grato pela sua atenção
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 21:03

    Editei de novo...

    Se não der certo, e quiser enviar uma cópia do bd em A2003, dou uma olhada.
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10439
    Registrado : 04/11/2009

    Re: Campo obrigatorio em um sub formulario

    Mensagem  JPaulo em 14/12/2011, 21:59

    Olha eu aqui a meter o bedelho;

    Teste assim;

    If ((Len(Nz(Me![EntradaDetalhe].Form!Texto38.Value, ""))) = 0) Then



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 22:16

    Sua intervenção é um aprendizado, mestre!
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 14/12/2011, 23:39


    Norbs e JP
    Coloquei desta maneira

    If ((Len(Nz(Me![EntradaDetalhe].Form!Texto38.Value, ""))) = 0) Then
    Cancel = True
    MsgBox "Preencha o campo COM O VALOR DO CUSTO!", vbInformation, " A t e n ç ã o. "

    ElseIf Nz(Len(Me!EntradaDetalhe.EntradaQuantidade), 0) = 0 Then
    Cancel = True
    MsgBox "Preencha o campo QUANTIDADE DO PRODUTO!", vbInformation, " A t e n ç ã o. "

    Else
    Me.Refresh
    End Ifantes de atualizar o form. EntradaDetalhe, no botão no formulario para salva o sub sem resultados, não consigo enxergar o que esta errado.

    Ao sair do campo Texto38,
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 14/12/2011, 23:55

    Conforme a sugestão do JPaulo, deve ficar assim:

    Mantenha no mesmo evento!

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If ((Len(Nz(Me![EntradaDetalhe].Form!Texto38.Value, ""))) = 0) Then
    Cancel = True
    MsgBox "Preencha o campo COM O VALOR DO CUSTO!", vbInformation, " A t e n ç ã o. "
    ElseIf ((Len(Nz(Me![EntradaDetalhe].Form!EntradaQuantidade.Value, ""))) = 0) Then
    Cancel = True
    MsgBox "Preencha o campo QUANTIDADE DO PRODUTO!", vbInformation, " A t e n ç ã o. "
    Else
    'MsgBox "Gravado com sucesso", vbInformation, "Gravado"
    'DoCmd.Save acForm, "entrada"
    Me.Refresh
    End If

    Se não funcionar, verifique a propriedade Nome do subform EntradaDetalhe para confirmar se combina, e verifique também esta mesma propriedade nos controles Texto39 e EntradaQuantidade para confirmar se combinam.

    Se tudo estiver correto... só vendo o bd prá encontrar o erro!
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 15/12/2011, 00:32

    Diga me uma coisa, para colocar o evento nos campos Texto38 e EntradaQuantidade assim que perder o foco e o valor for vasio ou 0 como devo proceder,(Ex. os campos não pode ficar vasio ou com o valor de 0)assim seria mais simples
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 15/12/2011, 01:05

    Bem, isto muda o foco da questão.
    Imaginei que você tinha motivos para fazer esta verificação a partir do form principal.

    Então, tente assim:

    Private Sub Texto38_Exit(Cancel As Integer)
      If Not Nz(Len(Me.Texto38), 0) > 0 Then
        Cancel = True
        MsgBox ""
      End If
    End Sub
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 15/12/2011, 11:31

    Norbs, a única coisa que não deu certo se o valor for digitado 0(na EntradaQuantidade)e 0,00 (no Texto38) aceita normal.
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 15/12/2011, 12:26

    Você colocou o evento nos dois campos?

    Private Sub Texto38_Exit(Cancel As Integer)
    If Not Nz(Len(Me.Texto38), 0) > 0 Then
    Cancel = True
    MsgBox ""
    End If
    End Sub

    Private Sub EntradaQuantidade_Exit(Cancel As Integer)
    If Not Nz(Len(Me.EntradaQuantidade), 0) > 0 Then
    Cancel = True
    MsgBox ""
    End If
    End Sub

    Também pode usar o LostFocus...
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 15/12/2011, 13:26

    exatamente desta maneira Norbs.

    Private Sub EntradaQuantidade_Exit(Cancel As Integer)
    If Not Nz(Len(Me.EntradaQuantidade), 0) > 0 Then
    Cancel = True
    MsgBox "A QUANTIDADE DO PRODUTO É OBRIGATÓRIO PARA CONTINUAR O PEDIDO", vbInformation, " A T E N Ç Ã O. "
    End If
    Me.EntradaQuantidade.SetFocus
    End Sub
    Só esta aceitando digitar o valor 0, o campo em branco funciona corretamente.
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 20/12/2011, 13:34

    Sou grato pela atenção

    Sem solução
    avatar
    Convidad
    Convidado

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Convidad em 20/12/2011, 13:41

    Olá

    Deve haver algo errado que não estamos percebendo.
    Veja que na mensagem 13 me ofereci para ver seu bd, mas você não enviou...

    Abraço!
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10439
    Registrado : 04/11/2009

    Re: Campo obrigatorio em um sub formulario

    Mensagem  JPaulo em 20/12/2011, 14:26

    Você já tentou apenas chekar se o campo está vazio ou com zero ?


    Private Sub EntradaQuantidade_Exit(Cancel As Integer)
    If IsNull(Me.EntradaQuantidade.Value) Or Me.EntradaQuantidade.Value = "" Or Me.EntradaQuantidade.Value = Empty Or Me.EntradaQuantidade.Value = 0 Then
    Cancel = True
    MsgBox "A QUANTIDADE DO PRODUTO É OBRIGATÓRIO PARA CONTINUAR O PEDIDO", vbInformation, " A T E N Ç Ã O. "
    Me.EntradaQuantidade.SetFocus
    End If
    End Sub






    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 9/1/2012, 23:29

    Boa noite a todos.
    JP o campo esta definido como vazio como padrão
    avatar
    Naldo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 387
    Registrado : 16/02/2011

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Naldo em 9/1/2012, 23:44

    JP, quando o campo fica vazio e não perde o foco e eu clico no botão salvar do form. salva o pedido com o(s) campo(s) vazio.
    avatar
    Anslu
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 11/01/2018

    Re: Campo obrigatorio em um sub formulario

    Mensagem  Anslu em 2/10/2018, 15:07

    Obrigado JPaulo pela dica.

      Data/hora atual: 26/3/2019, 15:05