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]Erro em Data

    avatar
    danielmarcos17
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 01/07/2015

    [Resolvido]Erro em Data Empty [Resolvido]Erro em Data

    Mensagem  danielmarcos17 em 11/7/2019, 14:39

    Estou desenvolvendo um projeto para uma escola, onde eles trabalham com o parcelamento do pagamento do aluno.
    A pessoa que vai colocar as parcelas ela seleciona: DATA DO VENCIMENTO, VALOR DA PARCELA, NÚMERO DE PARCELAS..
    apois isso ser inserido, o código vai gerar o loop dessas parcelas em uma listview...ate ai tudo da certo, porém, quando eu insiro uma data apartir do dia 13 ao dia 31...ele gera as proximas datas todas com o dia 1..exemplo:
    DATA DE VENCIMENTO LANÇADA: 14/07/2019
    DATA MOSTRADA NA LISTVIEW: 01/08/2019

    obs: ele lançou no mês 8, porque pega a data que eu digitei e soma com mais 1 mês, de acordo com a quantidade de parcelas informada pelo usuário.
    Segue abaixo o codigo que estou usando.

    Código:
    Private Sub chameleonButton1_Click()
    LstFaturas.ListItems.Clear
    If txt_alunoselecionado.Text = "" Or txt_Mensalidade.Text = "" Or txtNumeroParcelas.Text = "" Or txtNumeroTitulo.Text = "" Then Exit Sub

    '================================================================
    ' Gera fatura para ano com 2 e 4 dígitos
    '================================================================

    Dim DataFatura, DataParcela As Date
    Dim ValorFatura As Currency
    Dim dd, mm, aa, Parcela, NumeroParcela As Integer

    '======================================

    DataFatura = txt_Vencimento
    ValorFatura = txt_Mensalidade.Text
    NumeroParcela = txtNumeroParcelas.Text
    Parcela = 0

    '======================================

    dd = Mid$(DataFatura, 1, 2)
    mm = Mid$(DataFatura, 4, 2)
    aa = Mid$(DataFatura, 7, 4)

    '======================================

    Do Until Parcela >= NumeroParcela

    If dd > 12 Then dd = Format(CCur(dd), "##")
    If dd > 12 Then dd = Format(CCur(1), "##")
    If mm <= 12 Then mm = CCur(mm) + 1
    If CCur(mm) > 12 Then
    mm = CCur(1)
    aa = CCur(aa) + 1
    End If

    Parcela = Parcela + 1

    DataParcela = CDate(dd & "/" & mm & "/" & aa)

    '=======================================
    Dim i As Integer
    Dim lst As ListItem
    Set lst = LstFaturas.ListItems.Add(, "000" + Str(LstFaturas.ListItems.Count + 1), Str(LstFaturas.ListItems.Count + 1))
    lst.ListSubItems.Add Text:=txt_alunoselecionado.Text
    lst.ListSubItems.Add Text:=LstFaturas.ListItems.Count
    lst.ListSubItems.Add Text:=CDate(DataParcela)
    lst.ListSubItems.Add Text:=Format(CCur(ValorFatura))
    Loop
    'Dim i As Integer
    For i = 1 To LstFaturas.ListItems.Count
    ' List1.ListItems.Add i
    If LstFaturas.ListItems(i).SubItems(2) <> "" Then
    LstFaturas.ListItems(i).ListSubItems(2).ForeColor = vbRed
    Else
    LstFaturas.ListItems(1).ListSubItems(2).ForeColor = vbBlue
    End If
    Next

    For i = 1 To LstFaturas.ListItems.Count
    If LstFaturas.ListItems(i).SubItems(3) <> "" Then
    LstFaturas.ListItems(i).ListSubItems(3).ForeColor = &H8000000D

    End If
    Next
    End Sub


    Última edição por danielmarcos17 em 12/7/2019, 15:03, editado 1 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2796
    Registrado : 21/04/2011

    [Resolvido]Erro em Data Empty Re: [Resolvido]Erro em Data

    Mensagem  Marcelo David em 11/7/2019, 15:14

    Regras do Fórum

    1. Tenha paciência com quem coloca aqui as suas duvidas.
    2. Clareza nos títulos dos tópicos e duvidas, evite a linguagem MSN.
    3. Não colocar diversas vezes a mesma dúvida.
    4. Explicar detalhadamente o problema e informar a versão do seu Office + Sistema Operativo.
    5. Retorne sempre se deu certo, esse retorno é muito importante.
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    7. Use sempre o botão Busca, sempre que tiver uma dúvida e antes de abrir tópicos.
    8. Não usar palavras como "Urgente". O fórum é livre e ninguém é obrigado a responder com urgência.
    9. A publicidade é proíbida e só pode ser feita pelo Administrador ou depois de aprovada pelo Administrador.
    10. Se o seu tópico não for respondido, tem o direito de fazer um Up ao final de 24horas!
    11. A colocação de Códigos ou Exemplos, devem constar sempre os créditos de quem o elaborou.
    12. Fale, não GRITE!   Só letras Maiúsculas, na Internet é o mesmo que gritar!
    13. É proibido tirar duvidas nas Salas de Repositório, devem abrir um novo tópico nas salas de duvidas, relacionando o Exemplo em causa.
    14. É proibido adicionar links externos nos tópicos, que redirecionem para outros sites ("backlinks"), excepto DropBox ou do próprio fórum.
    15. É permitido adicionar links externos, nos códigos VBA dentro das Base de Dados.

    Bom dia,
    Observe que o título do seu tópico infringe a Regra 12.
    Adeque o título do seu tópico para assim podermos prosseguir com a solução.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)

      Data/hora atual: 21/8/2019, 13:04