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]Não salvar se não houver alterações no registro

    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 478
    Registrado : 11/12/2017

    [Resolvido]Não salvar se não houver alterações no registro Empty [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  Ismael Silva em 11/7/2019, 16:04

    Bom dia,

    Peguei uma carona em outro tópico aqui do fórum. No botão salvar do meu projeto, tenho o código abaixo, e o que eu quero fazer, é que se não fizer nenhuma alteração no meu registro, apareça a mensagem em negrito, e que não rode o restante do código, para baixo, mas não estou conseguindo fazer.

    Alguma sugestão?



    Private Sub Salvar_Click()

    Dim Resultado As VbMsgBoxResult


    On Error Resume Next

    If Me.Dirty = False Then
           MsgBox "Não houve nenhuma alteração neste registro para requerer salvá-lo!", vbInformation, "Sem Alterações"
              Me.Undo
             
           End If
       




    If Data1 > Date Then

    MsgBox "A data do abastecimento não pode ser maior que a data atual!", vbCritical, "Atenção"

    Me.Data1.SetFocus
    Exit Sub

    Else

    If Me.Abast_Seguinte > Data1 Then

    MsgBox "Data do último abastecimento, não pode ser maior que a data do abastecimento que está sendo lançado agora!", vbCritical, "Atenção"

    Me.Abast_Seguinte.SetFocus

    Exit Sub

    Else

    If IsNull(Me.NF) Or Me.NF.Value = "" Or Me.NF.Value = 0 Then
    MsgBox "NF é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.NF.SetFocus

    Exit Sub

    End If

    If IsNull(Me.Posto1) Or Me.Posto1.Value = "" Or Me.Posto1.Value = 0 Then
    MsgBox "Unidade é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Posto1.SetFocus

    Exit Sub

    End If

    If IsNull(Me.CBOPlaca) Or Me.CBOPlaca.Value = "" Or Me.CBOPlaca.Value = 0 Then
    MsgBox "Placa é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.CBOPlaca.SetFocus


    Exit Sub

    End If

    If IsNull(Me.Hora_Abast) Or Me.Hora_Abast.Value = "" Or Me.Hora_Abast.Value = 0 Then
    MsgBox "Hora_Abast é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Hora_Abast.SetFocus


    Exit Sub
    End If
    If IsNull(Me.Comb) Or Me.Comb.Value = "" Or Me.Comb.Value = 0 Then

    Resultado = MsgBox("Campo Comb está vazio. Deseja continuar mesmo assim?.", vbInformation + vbYesNo, "Atenção")

    Me.Comb.SetFocus

    Exit Sub
    End If

    If Me.Outros > 1 And Me.Qtd < 1 Then

    Resultado = MsgBox("Confirma veículo sem abastecimento, apenas com ADICIONAIS?", vbInformation + vbYesNo, "Confirmação")

    If Resultado = vbYes Then

    Me.Km_Inicial = ""
    Me.Km_Final = ""

    Else

    MsgBox "Favor informar a Quantidade e Valor Unitário.", vbInformation, "Completar campos"
    Me.Qtd.SetFocus
    Exit Sub

    End If
    End If
    'Resultado = MsgBox("Veículo " & Me!CBOPlaca & " não abasteceu, foi apenas adicionais, desta forma, Km Inicial e Final foram deletadas para não conflitar em erros futuros em gerações de relatórios.", vbInformation, "Veículo não abasteceu")



    If Me.Qtd.Value > 1 And Me.Valor_Unit.Value < 1 Then

    'If IsNull(Me.Valor_Unit) Or Me.Valor_Unit.Value < 1 Then

    Resultado = MsgBox("Favor Preencher o Campo Valor Unit!", vbCritical, "Valor Unitário")


    'If Resultado = vbNo Then

    Me.Valor_Unit.SetFocus

    Exit Sub
    Else

    End If



    ' Aqui pergunta ao salvar se deseja informar alguma observação

    Resultado = MsgBox(" Deseja informar alguma pendência no atual registro?", vbInformation + vbYesNo, "Registro de Pendências")

    If Resultado = vbYes Then

    Me.Atencao = True

    Me.Lista_Obs.Requery

    'MsgBox "Registro salvo com sucesso!", vbInformation, "Inserção de registro"

    Else

    Me.Atencao = False

    MsgBox "Registro salvo com sucesso!", vbInformation, "Inserção de registro"

    End If

    Me.Lista_Obs.Requery
    Me.Recalc

    If IsNull(Me.Conta) Or Me.Conta.Value = "" Or Me.Conta.Value >= 1 Then

    Me.Lista_Msg = "Contém " & " " & Conta & " Registro(s) com PENDÊNCIA(S). Para Verificar Clique na Aba Observações."

    Me.Lista_Msg.BackColor = 26367
    Me.Lista_Msg.BorderColor = 26367

    Else

    Me.Lista_Msg = ""
    'Me.Lista_Msg.BackColor = 12349952
    End If

    DoCmd.RunCommand acCmdRecordsGoToNew
    Me.Lista.Requery

    Me.Data1.Enabled = False
    Me.NF.Enabled = False
    Me.CBOPlaca.Enabled = False

    Me.Frota1.Enabled = False
    Me.Equipamento.Enabled = False
    Me.Cid_Frota.Enabled = False

    Me.Comb.Enabled = False
    Me.Km_Inicial.Enabled = False
    Me.Km_Final.Enabled = False

    Me.Km_Rodado.Enabled = False
    Me.Qtd.Enabled = False
    Me.Valor_Unit.Enabled = False

    Me.Total.Enabled = False
    Me.Abast_Seguinte.Enabled = False
    Me.DIf_Dias.Enabled = False

    Me.Outros.Enabled = False
    Me.DESCRIÇÃO.Enabled = False
    '________
    Me.Posto1.Enabled = False
    Me.Cidade1.Enabled = False
    Me.Categoria1.Enabled = False

    Me.Pos_to.Enabled = False

    Me.Total_Geral.Enabled = False

    Me.T_Comb.Enabled = False

    Me.Data_do_Lançamento.Enabled = False

    Me.Hora.Enabled = False





    'Me.Editar.Enabled = False
    Me.Cancela.Enabled = False
    Me.Salvar.Enabled = False

    Me.Numero_Abas = Empty
    Me.Dta = Empty
    Me.Lista542.Requery
    Me.Lista_Obs.Requery
    Me.Lista_Msg.Requery
    MDIA = ""
    [TOTA] = DLast("[Cód]", "Tbl_Lançamentos")




    Dcmd.Save
    End If


    End If


    End Sub

    Private Sub Valor_Padrao_Click()

    If Me.Dta_Inicial = "01/01/2019" And Me.Dta_Final = Date Then

    MsgBox "Valores padrões já estão definidos. Data Inicial é = 01/01/2019 e Data Final é = " & Date & ".", vbCritical, "Valores Padrões"

    Else

    Me.Dta_Inicial = "01/01/2019"

    Me.Dta_Final = Date

    Me.Listagem.Requery
    Me.Recalc

    End If
    End Sub
    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 478
    Registrado : 11/12/2017

    [Resolvido]Não salvar se não houver alterações no registro Empty Re: [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  Ismael Silva em 12/7/2019, 12:59

    Alguma sugestão?
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6379
    Registrado : 15/03/2013

    [Resolvido]Não salvar se não houver alterações no registro Empty Re: [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  ahteixeira em 12/7/2019, 13:20

    Olá Ismael,

    Se não houve alterações, porque usa o me.undo ???
    Não está a fazer nada, mas pode ter outro motivo.

    Para o que pretende é só acrescentar Exit Sub, ficando assim:
    Código:
    If Me.Dirty = False Then
           MsgBox "Não houve nenhuma alteração neste registro para requerer salvá-lo!", vbInformation, "Sem Alterações"
              Me.Undo
             exit sub
           End If
    ' resto do código igual

    Abraço
    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 478
    Registrado : 11/12/2017

    [Resolvido]Não salvar se não houver alterações no registro Empty Re: [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  Ismael Silva em 12/7/2019, 13:56

    Bom dia Teixeira.

    Funcionou a sua sugestão, muito obrigado.

    Resolvido!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6379
    Registrado : 15/03/2013

    [Resolvido]Não salvar se não houver alterações no registro Empty Re: [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  ahteixeira em 12/7/2019, 13:57

    Olá Ismael,

    Obrigado pelo retorno, o fórum agradece.

    cheers

    Conteúdo patrocinado

    [Resolvido]Não salvar se não houver alterações no registro Empty Re: [Resolvido]Não salvar se não houver alterações no registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/11/2019, 08:44