Boa tarde a todos!
Estou quebrando com um determinado código que escrevi, pois uam das condiçoes imposta nao esta sendo
obedecida pelo access, vou postar o código e na sequencia explico melhor:
Private Sub BTBAIXAR_Click()
If IsNull(Me!VlrPg) Then
MsgBox "Você precisa informar o valor Pago", vbInformation, "Valor da Despesa"
Me.VlrPg.SetFocus
Exit Sub
End If
If Me!VLR > Me!VlrPg Then
MsgBox " Verifique o valor digitado!", vbCritical, "Valor não Permitido"
Exit Sub
End If
Dim Escolha
Dim DB As Database
Dim RS As DAO.Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("DESPESAS")
RS.Index = "IDDESP"
RS.Seek "=", (Me!IDDESP)
RS.Edit
Escolha = MsgBox("Confirmao pagamento dessa conta?", vbYesNo, "Confirmação")
If Escolha = 6 Then
RS!STATUS = 1
RS!VlrPago = Me!VlrPg
Me.CBLISTA.Requery
MsgBox "Conta baixada", vbInformation, "Confirmação"
RS.Update
Me.CBLISTA.Requery
Else
DoCmd.CancelEvent
Me.Undo
MsgBox "O pagamento nao foi efetivado!", vbinfomation, "Cancelado pelo Usuário"
End If
End Sub
'------------------------------------------------------------------------------------------------------------------------------------
O código em si funciona perfeitamente o prblema está na linha em negrito
Trata-se de regra de validaçao onde ele compara o valor da Despesa e o valor que está sendo pago.
No caso o valor pago não pode ser menor que o valor da despesa, pois seria incoerente.
porém no caso de um atraso no pagamento se o valor tiver alguma multa ou correção,o pagamento a baixa ocorreria normalmente visto que isso seria normal ( Exemplo: pagamento de boleto em atraso).
Oque está acontecendo é que se habilito esse código de validação nao importa se o valor é igual ou maior que o valor da conta em questão o sistema simplesmente me informa via msgbox que o valor informadoprecisa verficado exatamente como esá no código.
e ai não executa o resto do processo.
Isso só deveria ocorrer quando valor pago fosse menor que o valor a pagar .
O campo VLR é o Valor da conta o Campo VlrPg é o valor pago.
Onde estou errando?
Alguem poderia me dar uma luz
Obrigado!
Estou quebrando com um determinado código que escrevi, pois uam das condiçoes imposta nao esta sendo
obedecida pelo access, vou postar o código e na sequencia explico melhor:
Private Sub BTBAIXAR_Click()
If IsNull(Me!VlrPg) Then
MsgBox "Você precisa informar o valor Pago", vbInformation, "Valor da Despesa"
Me.VlrPg.SetFocus
Exit Sub
End If
If Me!VLR > Me!VlrPg Then
MsgBox " Verifique o valor digitado!", vbCritical, "Valor não Permitido"
Exit Sub
End If
Dim Escolha
Dim DB As Database
Dim RS As DAO.Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("DESPESAS")
RS.Index = "IDDESP"
RS.Seek "=", (Me!IDDESP)
RS.Edit
Escolha = MsgBox("Confirmao pagamento dessa conta?", vbYesNo, "Confirmação")
If Escolha = 6 Then
RS!STATUS = 1
RS!VlrPago = Me!VlrPg
Me.CBLISTA.Requery
MsgBox "Conta baixada", vbInformation, "Confirmação"
RS.Update
Me.CBLISTA.Requery
Else
DoCmd.CancelEvent
Me.Undo
MsgBox "O pagamento nao foi efetivado!", vbinfomation, "Cancelado pelo Usuário"
End If
End Sub
'------------------------------------------------------------------------------------------------------------------------------------
O código em si funciona perfeitamente o prblema está na linha em negrito
Trata-se de regra de validaçao onde ele compara o valor da Despesa e o valor que está sendo pago.
No caso o valor pago não pode ser menor que o valor da despesa, pois seria incoerente.
porém no caso de um atraso no pagamento se o valor tiver alguma multa ou correção,o pagamento a baixa ocorreria normalmente visto que isso seria normal ( Exemplo: pagamento de boleto em atraso).
Oque está acontecendo é que se habilito esse código de validação nao importa se o valor é igual ou maior que o valor da conta em questão o sistema simplesmente me informa via msgbox que o valor informadoprecisa verficado exatamente como esá no código.
e ai não executa o resto do processo.
Isso só deveria ocorrer quando valor pago fosse menor que o valor a pagar .
O campo VLR é o Valor da conta o Campo VlrPg é o valor pago.
Onde estou errando?
Alguem poderia me dar uma luz
Obrigado!