MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Gerar Parcelas

    Compartilhe

    Rasec
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 19/12/2015

    [Resolvido]Gerar Parcelas

    Mensagem  Rasec em Qua 20 Abr 2016, 16:13

    Bom dia amigos tenho este código para gerar parcelas.

    If MsgBox("Confirma a Operação?", vbYesNo + vbCritical, "Atenção!!!") = vbYes Then
    Set Db = CurrentDb()
    Set rs = Db.OpenRecordset("Tabela_ContasAreceber") 'Abre Tbl_ContasAreceber

    Valor_Parcela = Me.TotalGeral / Me.QuantParcelas 'Valor de cada Parcela

    For I = 1 To Me.QuantParcelas 'Insere as Parcela na Tbl_ContasAreceber
    rs.AddNew
    rs("Cod_TabVenda") = Me.ID_Vendas
    rs("Parcelas") = I
    rs("Valor_Parcela") = Valor_Parcela
    rs("DataVencimento") = DateAdd("m", I - 1, Me.Vencimento) 'Calcula as datas de Vencto através da função DateAdd()
    rs.Update
    Next

    rs.Close
    Db.Close

    Me.frmsub_contasareceber.Requery 'Atualiza o SubForm
    Else
    Me.Recalc


    End If

    O que eu estou tentando fazer é adapta-lo para um sistema de ponto. Onde tenho os seguintes campos, Data,Situação.
    Exemplo: 7 dias de atestado. Eu quero que o botão gerar parcelas gere sete dias corridos e 7 vezes a situação de atestado por exemplo.
    Já tentei mexer mas sem sucesso. Grato pela ajuda.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2304
    Registrado : 14/08/2013

    Re: [Resolvido]Gerar Parcelas

    Mensagem  FabioPaes em Qua 20 Abr 2016, 20:14

    Mais ou menos o que vc precisa...
    [Você precisa estar registrado e conectado para ver este link.]

    Um exemplo pra vc ter uma ideia de como fazer!
    [Você precisa estar registrado e conectado para ver este link.]

    Rasec
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 19/12/2015

    Re: [Resolvido]Gerar Parcelas

    Mensagem  Rasec em Sab 23 Abr 2016, 06:52

    Estou tentando adaptar neste subformulário, mas sem sucesso, em tabelas separadas ele esta funcionando, mas preciso que ele insira os valores no subformulário. Segue link até onde consegui ir. se você puder dar uma olhada eu agradeço.
    [Você precisa estar registrado e conectado para ver este link.]

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2304
    Registrado : 14/08/2013

    Re: [Resolvido]Gerar Parcelas

    Mensagem  FabioPaes em Sab 23 Abr 2016, 14:26

    Ficou Assim:

    Código:

    '---------------------------
    'Criado por Fabio Paes
    'Para o MaximoAccess.com
    'Data 23/04/2016
    'Livre para o aprendizado.
    '---------------------------
    DoCmd.RunCommand acCmdSaveRecord
    Set db = CurrentDb()
        Set rs = db.OpenRecordset("DetalheMovimento")
      
        For i = 1 To Me.txtDias  'Calcula o Loop
            'Campos e valores a serem preenchidos
            rs.AddNew
            rs("[Data1]") = (Me.Data_Ent_Sai - 1) + i
            rs("[CodMovimentação]") = Me.ID_Movimento
            rs("CodFuncionario") = Me.CaixaCombinação14.Column(0)
            rs("EM") = "00:00"
            rs("SM") = "00:00"
            rs("ET") = "00:00"
            rs("ST") = "00:00"
            rs("EN") = "00:00"
            rs("SN") = "00:00"
            'O motivo esta na tabela com Numero, Entao nao sei como vc queria fazer...
            'Mas basta apontar aqui Me.txtMotivo para o nome do campo onde tem o Motivo.
            'rs("Motivo") = Me.txtMotivo
            rs.Update
        Next
        rs.Close
        db.Close
        Me.DetalheMovimento_subformulário.Requery
        MsgBox Me.txtDias & " Dias de Atestado Lançado para: " & Me.CaixaCombinação14.Column(1), vbInformation


    Outra coisa, o vinculo entre o Formulario e o Subformulario estava errado... Tinha tres campos... O correto, acredito eu que seja dessa forma:

    [Você precisa estar registrado e conectado para ver esta imagem.]
    Talvez fosse ate esse o Motivo de nao esta conseguindo....

    O mais complicado acontece aqui:  rs("[Data1]") = (Me.Data_Ent_Sai - 1) + i, Ele pega a data do atestado, diminui um dia e soma o valor de i, para lançar as datas corretamente.


    [Você precisa estar registrado e conectado para ver este link.]

    Rasec
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 19/12/2015

    Re: [Resolvido]Gerar Parcelas

    Mensagem  Rasec em Sab 23 Abr 2016, 20:58

    Vou dar um super resolvido. Valeu pela ajuda.

      Data/hora atual: Dom 04 Dez 2016, 20:23