MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


2 participantes

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

    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  vinicius.anna 17/6/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
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Lupércio 22/6/2013, 16:19

    Se não comprometer, tem como postar parte do banco onde acontece esse problema?
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  vinicius.anna 7/11/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

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 19:15