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]Validação de dados no formulário e Salvar.

    avatar
    robusti
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 29/01/2013

    [Resolvido]Validação de dados no formulário e Salvar. Empty [Resolvido]Validação de dados no formulário e Salvar.

    Mensagem  robusti 1/2/2013, 18:14

    E ai galera blz?

    Estou com uma duvida e espero que alguem possa me ajudar.
    Tenho um banco de dados onde um determinado formulário tem um botão chamado salvar, que faz a verificação se os campos obrigatórios estão preenchidos, se estiverem todos preenchidos ele grava o registro, mas se faltar algum dado ele foca no campo que esta sem preencher.
    E tenho tambem um outro botão chamado Voltar, que verifica se ouve alguma alteração no registro e pergunta se o usuário deseja salvar ou não.
    Ambos os botões estão funcionando corretamente, porém no botão Voltar se o usuario clicar em sim o registro e salvo mesmo se os campos obrigatório estiverem sem preencher, e queria que ao clicar no sim ele executasse o codigo do botão Salvar para verificação.
    Ja tentei juntar os 2 codigos, mas não deu muito certo.
    Segue os codigos dos botões abaixo.

    Botão Salvar

    Evento = ao Clicar do botão

    If IsNull(Me.Data_Cadastro) = True Then
    MsgBox "A Data de Cadastro é de preenchimento obrigatório", vbInformation, "Atenção"
    Me.Data_Cadastro.SetFocus

    ElseIf IsNull(Me.Num_Prontuario) = True Then
    MsgBox "O Numero do Prontuário é de preenchimento obrigatório", vbInformation, "Atenção"
    Me.Num_Prontuario.SetFocus

    ElseIf IsNull(Me.Nome_Paciente) = True Then
    MsgBox "O Nome do Pacinete é de preenchimento obrigatório", vbInformation, "Atenção"
    Me.Nome_Paciente.SetFocus

    ElseIf IsNull(Me.Num_Cartao_SUS) = True Then
    MsgBox "O Número do SUS é de preenchimento obrigatório", vbInformation, "Atenção"
    Me.Num_Cartao_SUS.SetFocus

    Else
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    MsgBox "Cadastro salvo com sucesso!", vbInformation, "Atenção"
    DoCmd.Close

    End If


    Botão Voltar


    Evento = Antes de Atualizar do Form

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim i As Integer
    Dim sMsg As String

    sMsg = "Deseja salvar as alterações?"
    i = MsgBox(sMsg, vbYesNo, "Salvar alterações")

    If i = vbNo Then
    DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

    End If
    End Sub
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Validação de dados no formulário e Salvar. Empty Re: [Resolvido]Validação de dados no formulário e Salvar.

    Mensagem  Leandro 1/2/2013, 19:26

    Bem vindo ao fórum Robusti, leia as regras por favor.

    Olha, o que acha de colocar a verificação de preenchimento e a validação em cada campo no evento ao Sair? Algum tempo atrás com base num exemplo do Avelino Sampaio eu montei uma função que não permitia nenhum campo sem preenchimento, veja:

    Public Function NaoVazio(frm As Form)
    Dim ctl As Control
    For Each ctl In frm.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox
    ctl.OnExit = "=AoSair(" & ctl.Name & ")"
    End Select
    Next
    End Function

    Public Function AoSair(ctl As Control)
    If IsNull(ctl) Then
    MsgBox "Campo sem informação! Não preencha para proceder:", vbCritical, "Atenção"
    DoCmd.CancelEvent
    End If
    End Function

    Cole as duas num em módulo novo e no seu form, no evento Ao Carregar, coloque:

    Call NaoVazio(Me)

    E para a atualização use a propriedade OldValue.


    Abraço


      Data/hora atual: 22/11/2024, 08:12