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]Lançar parcela na Data que for digitada

    Connekta Informatica
    Connekta Informatica
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1068
    Registrado : 01/07/2011

    [Resolvido]Lançar parcela na Data que for digitada Empty [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  Connekta Informatica 28/11/2018, 13:25

    Bom dia

    Tenho o código abaixo para lançamento de Parcelas, o código funciona perfeitamente, o problema é que eu lanço uma parcela hoje o vencimento sai para o mês que vem. Por exemplo: lanço uma parcela com a data de vencimento 28/11/2018 na tabela ele lança 28/12/2018.

    Código:

    ...
    'Preenche variáveis
    StrValorParc = Me.ValorParcela
    'StrParc = StrValorParc ' / Me.NumParcelas
    'Cria o recordset
    Set rsParc = CurrentDb.OpenRecordset("tbl_Receitas", dbOpenDynaset)
    'Popula o Recordset
    With rsParc 'Selecona o recordset
    For I = 1 To Me.NumParcelas 'Loop de 1 até o total de parcelas
    StrDateAdd = DateAdd("m", I, Format(Me.DataVencimento.Value, "dd/mm/yyyy")) 'data do vencimento
    .AddNew 'Adiciona e popula o novo registro

        .Fields("CodContaCx") = Me.CodContaCx.Value
        .Fields("ContaCx") = Me.ContaCx.Value
        .Fields("CodCliente") = Me.CodCliente.Value
        .Fields("NomeCliente") = Me.NomeCliente.Value
        .Fields("NumParcelas") = I & "/" & Me.NumParcelas.Value
        .Fields("DataCadastro") = Me.DataCadastro.Value
        .Fields("DescReceita") = Me.DescReceita & " REF. A PARCELA: " & I & "/" & Me.NumParcelas.Value
        .Fields("Situacao") = Me.Situacao.Value
        .Fields("CodEmpresa") = Me.CodEmpresa.Value
        .Fields("ValorParcela") = StrValorParc
        .Fields("NomeEmpresa") = Me.NomeEmpresa.Value
        .Fields("Situacao") = "A RECEBER"
        .Fields("DataVencimento") = StrDateAdd
       
    .Update 'grava as informações na tabela
    Next I 'próximo registro
    End With 'Fim daseleção da tabela
    'Fecha o recordset
    Set rsParc = Nothing: Close
    ...


    .................................................................................




    Untitled Document





    Connekta Informática Apoia:


    Chapada dos Veadeiros - Alto Paraíso de Goiás
    Venha conhecer as belezas naturais desta cidade.


    Clique Aqui


    Lembrete: Desfrutar e Preservar é um direito de Todos.




    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7998
    Registrado : 05/11/2009

    [Resolvido]Lançar parcela na Data que for digitada Empty Re: [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  Alexandre Neves 28/11/2018, 16:27

    Boa tarde,
    Ao tempo que anda no forum, já podia começar a mexer no código, para evoluir e até ajudar outros colegas
    Será isto
    Código:
    ...[size=12][/size]
    'Preenche variáveis[size=12][/size]
    StrValorParc = Me.ValorParcela[size=12][/size]
    'StrParc = StrValorParc ' / Me.NumParcelas[size=12][/size]
    'Cria o recordset[size=12][/size]
    Set rsParc = CurrentDb.OpenRecordset("tbl_Receitas", dbOpenDynaset)[size=12][/size]
    'Popula o Recordset[size=12][/size]
    With rsParc 'Selecona o recordset[size=12][/size]
    For I = 1 To Me.NumParcelas 'Loop de 1 até o total de parcelas[size=12][/size]
    StrDateAdd = DateAdd("m", I-1, Format(Me.DataVencimento.Value, "dd/mm/yyyy")) 'data do vencimento[size=12][/size]
    .AddNew 'Adiciona e popula o novo registro[size=12][/size]
    [size=12][/size]
        .Fields("CodContaCx") = Me.CodContaCx.Value[size=12][/size]
        .Fields("ContaCx") = Me.ContaCx.Value[size=12][/size]
        .Fields("CodCliente") = Me.CodCliente.Value[size=12][/size]
        .Fields("NomeCliente") = Me.NomeCliente.Value[size=12][/size]
        .Fields("NumParcelas") = I & "/" & Me.NumParcelas.Value[size=12][/size]
        .Fields("DataCadastro") = Me.DataCadastro.Value[size=12][/size]
        .Fields("DescReceita") = Me.DescReceita & " REF. A PARCELA: " & I & "/" & Me.NumParcelas.Value[size=12][/size]
        .Fields("Situacao") = Me.Situacao.Value[size=12][/size]
        .Fields("CodEmpresa") = Me.CodEmpresa.Value[size=12][/size]
        .Fields("ValorParcela") = StrValorParc[size=12][/size]
        .Fields("NomeEmpresa") = Me.NomeEmpresa.Value[size=12][/size]
        .Fields("Situacao") = "A RECEBER"[size=12][/size]
        .Fields("DataVencimento") = StrDateAdd[size=12][/size]
        [size=12][/size]
    .Update 'grava as informações na tabela[size=12][/size]
    Next I 'próximo registro[size=12][/size]
    End With 'Fim daseleção da tabela[size=12][/size]
    'Fecha o recordset[size=12][/size]
    Set rsParc = Nothing: Close[size=12][/size]
    ...


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Lançar parcela na Data que for digitada Empty Re: [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  ronaldojr1 28/11/2018, 16:29

    boa tarde,
    deixa eu ver se entendi. o seu problema é no vencimento da 1° parcela?
    tipo ao inves de jogar a primeira parcela para o vencimento lançado ele joga para o próximo mês?

    se for isso substitua a inicialização do loop para 0

    'inicialização trocada para 0, pois assim o valor lançado no campo nao altera
    For I = 0 To (Me.NumParcelas - 1) 'Loop de 1 até o total de parcelas. O -1 serve para corrigir no numero de vezes q o loop executa.
    .
    .
    .
    'na linha q vc informa a parcela adiciona + 1 para mostrar a parcela atual corretamente
    .Fields("NumParcelas") = (I + 1) & "/" & Me.NumParcelas.Value
    .
    .
    .
    'faça a mesma coisa nessa linha
    .Fields("DescReceita") = Me.DescReceita & " REF. A PARCELA: " & (I + 1) & "/" & Me.NumParcelas.Value
    .
    .
    .
    Next I
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Lançar parcela na Data que for digitada Empty Re: [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  ronaldojr1 28/11/2018, 16:33

    nossa alexandre, seu pensamento foi melhor. rs
    so subtrair menos 1 da linha:
    StrDateAdd = DateAdd("m", I-1, Format(Me.DataVencimento.Value, "dd/mm/yyyy")) 'data do vencimento

    vivendo e aprendendo. rs
    sucesso!!!
    Connekta Informatica
    Connekta Informatica
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1068
    Registrado : 01/07/2011

    [Resolvido]Lançar parcela na Data que for digitada Empty Re: [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  Connekta Informatica 28/11/2018, 17:21

    Muito obrigado funcionou do jeito que eu quero.


    .................................................................................




    Untitled Document





    Connekta Informática Apoia:


    Chapada dos Veadeiros - Alto Paraíso de Goiás
    Venha conhecer as belezas naturais desta cidade.


    Clique Aqui


    Lembrete: Desfrutar e Preservar é um direito de Todos.




    Connekta Informatica
    Connekta Informatica
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1068
    Registrado : 01/07/2011

    [Resolvido]Lançar parcela na Data que for digitada Empty Re: [Resolvido]Lançar parcela na Data que for digitada

    Mensagem  Connekta Informatica 28/11/2018, 17:21

    Very Happy Ia me esquecendo de colocar resolvido.


    .................................................................................




    Untitled Document





    Connekta Informática Apoia:


    Chapada dos Veadeiros - Alto Paraíso de Goiás
    Venha conhecer as belezas naturais desta cidade.


    Clique Aqui


    Lembrete: Desfrutar e Preservar é um direito de Todos.





      Data/hora atual: 25/7/2021, 04:33