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

    [Resolvido]Campos Vazios x Cancelar navegação de Campos

    Compartilhe

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 174
    Registrado : 29/04/2011

    Campos Vazios x Cancelar navegação de Campos

    Mensagem  vinicius.anna em Seg 17 Jun 2013, 12:51

    Bom dia

    Na agenda de meu sistema, tenho alguns campos que necessitam obrigatoriamente de preenchimento. Nos botões Novo, Gravar, trato a falta de todos eles e obrigo o preenchimento......., usava a rotina no evento ao sair, mas meu cliente reclamou dizendo que não estava funcionando de forma prática, enfim, tive de alterar para colocar no evento no atual do formulário o código abaixo descrito. O que ocorre é que, meu formulário está baseado em uma consulta, o banco está dividido em front end e back end, e o ciclo deste formulário é apenas o registro atual. No mesmo utilizo a barra de navegação do próprio access. Quando clico no botão próximo registro, a mensagem é retornada de forma correta, informando que existem o campo X em branco e fica no registro, mas, se clicar no registro anterior, por exemplo, o access permite a navegação. Alguém tem alguma dica de como posso resolver isto ou o erro que estou cometendo.

    Att. Vinicius


    Código:
    Private Sub Form_Current()
    On Error GoTo trataerro
        Dim strCamposNulos As String
        Dim intTotalNulos As Integer
        Dim Cancel As Integer
        If Not IsNull(Me.Id_Agenda) Then
            intTotalNulos = 0
       
        If IsNull(dtData) Then
            intTotalNulos = intTotalNulos + 1
            strCamposNulos = strCamposNulos & "Data para o Agendamento." & vbCrLf
            Me.dtData.SetFocus
            Cancel = True
        End If
       
        If IsNull(agHora) Then
            intTotalNulos = intTotalNulos + 1
            strCamposNulos = strCamposNulos & "Hora para o Agendamento." & vbCrLf
            Me.agHora.SetFocus
            Cancel = True
        End If
       
        If IsNull(Id_TipoCons) Then
            intTotalNulos = intTotalNulos + 1
            strCamposNulos = strCamposNulos & "Tipo do Agendamento." & vbCrLf
            Me.Id_TipoCons.SetFocus
            Cancel = True
        End If
       
        If IsNull(Id_Paciente) Then
            intTotalNulos = intTotalNulos + 1
            strCamposNulos = strCamposNulos & "Paciente." & vbCrLf
            Me.Id_Paciente.SetFocus
            Cancel = True
        End If
       
        If IsNull(Id_ConvCons) Then
            intTotalNulos = intTotalNulos + 1
            strCamposNulos = strCamposNulos & "Convênio." & vbCrLf
            Me.Id_ConvCons.SetFocus
            Cancel = True
        End If
       
      
        If intTotalNulos > 0 Then
        
            strCamposNulos = "Existem campos que precisam ser preenchidos:" & vbCrLf & vbLf & strCamposNulos
            MsgBox strCamposNulos, vbCritical, "ATENÇÃO - Campo(s) de Preenchimento Obrigatório(s)!!!"
            Cancel = True
            DoCmd.CancelEvent
            'Me.Undo
            Me.dtData.SetFocus
        End If
    Else
        If IsNull(Me.Id_Agenda) Then
            Exit Sub
        Else
            [Forms]![Frm_Agenda]![subfrm_AgendarHorários]![Id_Medico] = [Forms]![Frm_Agenda]![codmedparam]
            DoCmd.RunCommand acCmdSaveRecord
            MsgBox "Consulta Agendada / Alterada com Sucesso!", vbInformation, "Inclusão..."
            DoCmd.GoToRecord , , acNewRec
            Me.dtData.SetFocus
            Forms!Frm_Seleção.Requery
        End If
    End If
    Exit_TrataErro:
        Forms!Frm_Agenda.Requery
        Exit Sub
    trataerro:
        Resume Next
        Exit Sub
    avatar
    Lupércio
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1134
    Registrado : 07/05/2011

    Campos Vazios x Cancelar navegação de Campos

    Mensagem  Lupércio em Sab 22 Jun 2013, 16:19

    Se não comprometer, tem como postar parte do banco onde acontece esse problema?

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 174
    Registrado : 29/04/2011

    Re: [Resolvido]Campos Vazios x Cancelar navegação de Campos

    Mensagem  vinicius.anna em Qui 07 Nov 2013, 23:51

    Boa noite Lupércio

    Muito obrigado pela ajuda

    Acabei resolvendo reescrevendo o formulário e criando uma barra personalizada com o tratamento.

    Saudações
    Vinicius

      Data/hora atual: Qua 20 Set 2017, 20:56