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

    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    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 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
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    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 12/7/2019, 12:59

    Alguma sugestão?
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7971
    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  Alvaro Teixeira 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
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    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 12/7/2019, 13:56

    Bom dia Teixeira.

    Funcionou a sua sugestão, muito obrigado.

    Resolvido!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7971
    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  Alvaro Teixeira 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: 22/10/2024, 02:52