MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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 : 168
    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

    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 : 168
    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: Dom 11 Dez 2016, 00:13