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


    [Resolvido]Tratar datas em VBA Access

    avatar
    Augusto
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/01/2010

    [Resolvido]Tratar datas em VBA Access Empty Tratar datas em VBA Access

    Mensagem  Augusto 30/3/2013, 18:41

    Boa Tarde Pessoal!

    Utilizo um form e subform para cadastrar contas à pagar, mas tenho problema com contas com os cartões para gerar as datas de vencimento. Por exemplo, o Visa quando a compra é feita entre os dias 01 e 10 de cada mês a cobrança será no dia 10 do més subsequente, caso contrario a cobrança é para o dia 10 do mês.

    Penso na seguinte condição:

    If FORMAPGTO = "Visa Then

    If 1 < Data > 10 Then

    código com data do dia 10/mes subsequente e na qtde de parcelas

    Else

    código com data do dia 10/mes e na qtde de parcelas

    End If

    Hoje o código abaixo gera parcelas na compra com cheques. No caso dos cartões, o problema está na verificação do dia da compra, alguém poderia me ajudar?

    Private Sub PARCELAS_AfterUpdate()

    If FORMAPGTO = "Cheque" Then
    Dim parc As Long
    VALOR = Me.VALOR / Me.PARCELAS
    parc = Me.PARCELAS
    PARCELAS = "1-" & Me.PARCELAS

    Dim i As Long
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb '' Indico banco de dados atual
    Set rs = db.OpenRecordset("CONTASP") '' Abro a tabela de contas
    With rs
    For i = 2 To parc
    .AddNew
    !DESCRIÇÃO = Me!LANÇAMENTO
    !VALOR = Me!VALOR
    !VENCIMENTO = DateAdd("m", i - 1, Me.VENCIMENTO)
    !PARCELAS = i & "-" & parc
    !FORMAPGTO = Me!FORMAPGTO
    .UPDATE
    Next
    End With
    db.Close

    DoCmd.GoToRecord , , acNewRec

    ElseIf FORMAPGTO = "Visa" Then

    Att.,

    Augusto
    avatar
    Augusto
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/01/2010

    [Resolvido]Tratar datas em VBA Access Empty Re: [Resolvido]Tratar datas em VBA Access

    Mensagem  Augusto 6/4/2013, 16:29

    Boa tarde,

    Não consigo formatar a data de vencimento para o código abaixo, alguém poderia me ajudar?

    Tenho que criar uma condição se a compra for feita antes do dia 10, o vencimento é para o dia 20 do mesmo mês. Se a compra for feita a partir do dia 10, o vencimento é para o dia 20 do mês seguinte.


    Private Sub PARCELAS_AfterUpdate()

    If FORMAPGTO = "Cheque" Then

    Dim parc As Long
    VALOR = Me.VALOR / Me.PARCELAS
    parc = Me.PARCELAS
    PARCELAS = "1-" & Me.PARCELAS

    Dim dt1 As Date
    dt1 = * O DIA DO VENCIMENTO É SEMPRE 20 *

    Dim i As Long
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb '' Indico banco de dados atual
    Set rs = db.OpenRecordset("CONTASP") '' Abro a tabela de contas
    With rs
    For i = 1 To parc
    .AddNew
    !DESCRIÇÃO = Me!LANÇAMENTO
    !VALOR = Me!VALOR
    !COMPRA = Me.COMPRA
    !VENCIMENTO = DateAdd(m, i, dt1)
    !PARCELAS = i & "-" & parc
    !FORMAPGTO = Me!FORMAPGTO
    .UPDATE
    Next
    End With
    db.Close

    DoCmd.GoToRecord , , acNewRec

    End If

    End Sub
    avatar
    Augusto
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/01/2010

    [Resolvido]Tratar datas em VBA Access Empty Re: [Resolvido]Tratar datas em VBA Access

    Mensagem  Augusto 6/4/2013, 18:14

    Srs,

    Consegui solucionar o problema. Segue o código completo.

    Private Sub PARCELAS_AfterUpdate()

    If FORMAPGTO = "Cheque" Then

    Dim parc As Long
    VALOR = Me.VALOR / Me.PARCELAS
    parc = Me.PARCELAS
    PARCELAS = "1-" & Me.PARCELAS

    Dim MeuDia As Integer
    MeuDia = 10
    Dim MeuMes As Integer
    MeuMes = Month([VENCIMENTO])
    Dim MeuAno As Integer
    MeuAno = Year([VENCIMENTO])

    Dim MyDate
    MyDate = DateSerial(MeuAno, MeuMes, MeuDia)

    Dim dtcompra As Integer
    dtcompra = Day([VENCIMENTO])

    If dtcompra < 10 Then

    VENCIMENTO = MyDate

    Else

    MyDate = DateAdd("m", 1, MyDate)

    VENCIMENTO = MyDate

    End If

    Dim i As Long
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb '' Indico banco de dados atual
    Set rs = db.OpenRecordset("CONTASP") '' Abro a tabela de contas
    With rs
    For i = 2 To parc
    .AddNew
    !DESCRIÇÃO = Me!LANÇAMENTO
    !VALOR = Me!VALOR
    !VENCIMENTO = DateAdd("m", i - 1, MyDate)
    !PARCELAS = i & "-" & parc
    !FORMAPGTO = Me!FORMAPGTO
    .UPDATE
    Next
    End With
    db.Close

    DoCmd.GoToRecord , , acNewRec

    End If

    End Sub

    Conteúdo patrocinado


    [Resolvido]Tratar datas em VBA Access Empty Re: [Resolvido]Tratar datas em VBA Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 09:05