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