MaximoAccess

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

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

    [Resolvido]Problema em verificar campos obrigatórios

    avatar
    Dery_santos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 03/10/2016

    [Resolvido]Problema em verificar campos obrigatórios Empty [Resolvido]Problema em verificar campos obrigatórios

    Mensagem  Dery_santos em 30/4/2020, 18:28

    Boa tarde,

    EU tenho um form  com varios campos dentre eles tem um chamado  campotipohomologacao, esse campo é um bombox onde eu defino o tipo de registro de um fornecedor , os tipos são Registro, Simplificado, Completo, Qualificação e Por exceção.
    Assim abaixo desse campo tem vários outros com tipos de documentos e datas.
    A ideia é o seguinte dependendo do tipo de homologação escolhida alguns campos se tornam obrigatórios.
    Eu fiz o seguinte conforme abaixo, não é o código mais bonito e nem sei se tem como simplificar , mas alem disso tem hora que da certo a logica .
    Ná logia o pretendido é assim se eu escolher por exemplo o Tipo Simplificada e ao salvar estiver faltando alguma campo ele deixa salva mas o campo (campostatushomologacao) fica como aguardando homologação caso contrario todos os campos obrigatórios para esse tipo for preenchido ele muda para homologado.
    O problema é que tem hora que mesmo preenchendo todos os obrigatórios ele não muda o status para homologado.
    Ja revisei o código varias vezes e não descubro o porque.
    Será que tem como fazer algo mais simple e o que será que esta errado?
    Desde ja agradeço.



      On Error Resume Next

    If formhomologacao.campotipohomologacao.Value = "Registo" Then
         If formhomologacao.Emissaocartaocnpj.Value = "" Then
         formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
         MsgBox "(A Data de Emissão do Cartão CNPJ) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
         
     
     ElseIf formhomologacao.Emissaocartaocnpj.Value <> "" Then
          formhomologacao.campostatushomologacao.Value = "Homologado"
          formhomologacao.campdatahomologacao.Value = Date
          formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
          E_mail_Homologacao_resposta


    End If
    End If
    '==============

    If formhomologacao.campotipohomologacao.Value = "Simplificada" Then
         If formhomologacao.cbxSimplesnacional.Value = "" Then
         formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
         MsgBox "(O campo Empresa optante pelo Simples Nacional.)não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
       
    ElseIf formhomologacao.cbxSimplesnacional.Value = "Sim" Then
       If formhomologacao.txtsimplesnacionalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Simples Nacional.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.Emissaocartaocnpj.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Cartão CNPJ.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"""
       
    ElseIf formhomologacao.txttipodocconstituicaojuri.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(O Tipo de Documento de Constituição Jurídica da Empresa.) não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
      ElseIf formhomologacao.txtdataemissaodoc.Value = "" Then
      formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Documento de Constituição Jurídica da Empresa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    Else
              formhomologacao.campostatushomologacao.Value = "Homologado"
              formhomologacao.campdatahomologacao.Value = Date
              formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
              E_mail_Homologacao_resposta


    End If
    End If
    End If


    If formhomologacao.campotipohomologacao.Value = "Completa" Then
          If formhomologacao.cbxSimplesnacional.Value = "" Then
          formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
          MsgBox "(O campo Empresa optante pelo Simples Nacional.) não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
    ElseIf formhomologacao.cbxSimplesnacional.Value = "Sim" Then
       If formhomologacao.txtsimplesnacionalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
          MsgBox "(A Data de Emissão do Simples Nacional.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
    ElseIf formhomologacao.Emissaocartaocnpj.Value = "" Then
     formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Cartão CNPJ.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txttipodocconstituicaojuri.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(O Tipo de Documento de Constituição Jurídica da Empresa.) não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
    ElseIf formhomologacao.txtdataemissaodoc.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Documento de Constituição Jurídica da Empresa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndfederal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Federal é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDfederalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Data de Emissão da CND Federal.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndestadual.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Estadual é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDEstadualemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão da CND Estadual.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndmunicipal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Municipal é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDmunicipalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão da CND Municipal.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtFGTSemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Certificado de Regularidade do FGTS.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
       ElseIf formhomologacao.txtDebTrabaemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Certidão Negativa de Débitos Trabalhistas.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       

    Else
           formhomologacao.campostatushomologacao.Value = "Homologado"
           formhomologacao.campdatahomologacao.Value = Date
           formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
           E_mail_Homologacao_resposta

    End If
    End If
    End If


    '=============
    If formhomologacao.campotipohomologacao.Value = "Qualificação" Then
    If formhomologacao.cbxSimplesnacional.Value = "" Then
          formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
          MsgBox "(O campo Empresa optante pelo Simples Nacional.) não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
    ElseIf formhomologacao.cbxSimplesnacional.Value = "Sim" Then
       If formhomologacao.txtsimplesnacionalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
          MsgBox "(A Data de Emissão do Simples Nacional.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
    ElseIf formhomologacao.Emissaocartaocnpj.Value = "" Then
     formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Cartão CNPJ.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txttipodocconstituicaojuri.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(O Tipo de Documento de Constituição Jurídica da Empresa.) não foi preenchido, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
     
    ElseIf formhomologacao.txtdataemissaodoc.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Documento de Constituição Jurídica da Empresa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndfederal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Federal é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDfederalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Data de Emissão da CND Federal.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndestadual.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Estadual é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDEstadualemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão da CND Estadual.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
    ElseIf formhomologacao.cbxtipocndmunicipal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Informação se a CND Municipal é Positiva, Negativa ou Positiva com Efeito de Negativa.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
           
    ElseIf formhomologacao.txtCNDmunicipalemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão da CND Municipal.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtFGTSemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Certificado de Regularidade do FGTS.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       
       ElseIf formhomologacao.txtDebTrabaemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(A Data de Emissão do Certidão Negativa de Débitos Trabalhistas.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
       

    ElseIf formhomologacao.txtcefalenciaconcordataemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
         MsgBox "(A Data de Emissão da Certidão de Falência e Concordata.) não foi preenchida, a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value = "" And formhomologacao.cbxriscoserasa.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "(Não foram preenchidos obrigatoriamente os dados do Balanço ou os dados da Análise SERASA.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.cbxriscoserasa.Value <> "" Then
    If formhomologacao.txtconsultserasaemissao.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente a Análise SERASA que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    Else
           formhomologacao.campostatushomologacao.Value = "Homologado"
           formhomologacao.campdatahomologacao.Value = Date
           formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
           E_mail_Homologacao_resposta

     End If
     End If

    If formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtcapitalsocial.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"


    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtativocirculante.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtpassivocirculante.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtliquidopatrimonio.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtativorealizavel.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtpassivoexigivel.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtfaturamento.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtativototal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtpassivototal.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"

    ElseIf formhomologacao.txtanodobalanco.Value <> "" Then
       If formhomologacao.txtlucroprejuizo.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"
       MsgBox "( Existe campo referente ao Balanço que não foi preenchido.)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
    Else

           formhomologacao.campostatushomologacao.Value = "Homologado"
           formhomologacao.campdatahomologacao.Value = Date
           formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
           E_mail_Homologacao_resposta

           

    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If

    If formhomologacao.campotipohomologacao.Value = "Exceção" Then
       If formhomologacao.txtjustificativa.Value = "" Then
       formhomologacao.campostatushomologacao.Value = "Aguardando Homologação"

          MsgBox "(O motivo da Homologação por Exceção não foi justificado)a Homologação será salva com o Status de Aguardando Homologação.", vbCritical, "Aviso do Siscon"
    Else
         
               formhomologacao.campostatushomologacao.Value = "Homologado"
               formhomologacao.campdatahomologacao.Value = Date
               formhomologacao.txtvencimento.Value = DateAdd("m", 12, Date)
               E_mail_Homologacao_resposta

               
               
    End If
    End If
    End If
    End If
    End If
    End If
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Problema em verificar campos obrigatórios Empty Re: [Resolvido]Problema em verificar campos obrigatórios

    Mensagem  Alexandre Neves em 30/4/2020, 19:30

    Boa tarde
    Não verifiquei o código todo mas, ao ver a correr pare-me respeitar a lógica do pretendido, apenas com falha na verificação de nulos
    Veja, onde tem
    If formhomologacao.Emissaocartaocnpj.Value = "" Then
    nulo não é em branco e não é verificada a condição que pretendia
    em vez de
    If formhomologacao.Emissaocartaocnpj.Value = "" Then
    coloque para detectar brancos e nulos
    If Len("" & formhomologacao.Emissaocartaocnpj.Value) = 0 Then

    Adapte este código aos controlos similares


    .................................................................................
    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
    avatar
    Dery_santos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 03/10/2016

    [Resolvido]Problema em verificar campos obrigatórios Empty Re: [Resolvido]Problema em verificar campos obrigatórios

    Mensagem  Dery_santos em 4/5/2020, 16:35

    Obrigado mestre, vou testar e ja posto o resultado , muito obrigado
    avatar
    Dery_santos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 03/10/2016

    [Resolvido]Problema em verificar campos obrigatórios Empty Re: [Resolvido]Problema em verificar campos obrigatórios

    Mensagem  Dery_santos em 4/5/2020, 17:00

    Mestre Alexandre Neves, realmente fiz a alteração e funcionou perfeito, muito obrigado.

      Data/hora atual: 11/8/2020, 14:33