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]Auto-numeração em Formulário Folha de dados.

    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 15/6/2013, 22:13

    Olá.

    Tenho um controle de pagamentos, Os dados de cada pagamento ficam armazenados em um subformulário.

    Preciso que ele enumere cada registro de pagamento automaticamente e de preferencia armazene em um campo
    junto com os demais dados do pagamento.

    Preciso disto pois baseado no numero do registro, será calculada a data do próximo vencimento e posteriormente
    usarei para gerar os boletos para pagamento.

    Consegui um código onde o formulário pega o numero do formulário do próprio access e utiliza, porém 3 problemas
    estão ocorrendo:

    01) Os dados não são armazenados, são apenas exibidos. (Mesmo sendo só exibidos eles servem para calcular a data do próximo pagamento)

    02) A numeração não fica exata a primeira vista. as vezes começa com 0 as vezes com 1, as vezes ela repete o mesmo número várias vezes.
              * após preencher os dados do pagamento, clico em atualizar e todas a numeração é corrigida. porém a data de vencimento continua
                 errada pois, no momento que ela foi calculada a numeração estava errada.
              * Tentei usar uma função "me.requery" para atualizar o campo e corrigir a numeração antes de calcular o vencimento porém
                 sempre que é atualizada voltava ao inicio do campo. 

    03) O Bd exibe uma mensagem sempre que é aberto. não consegui achar o erro.
              


    Segue função que citei e anexo meu bd para que vejam melhoro que está havendo.

    Desde já estou disposto a ouvir todos que quiserem tentar me ajudar.



    FUNÇÃO
    =======================================
    Public Function fncNumerar(frm As Form) As Long
    On Error GoTo TrataErro
        With frm.RecordsetClone
            .Bookmark = frm.Bookmark
            fncNumerar = 1 + .AbsolutePosition
        End With
       Exit Function
    TrataErro:
        If Err = 3021 Then fncNumerar = 0
    End Function
    =======================================


    PARA CHAMAR A FUNÇÃO
    =======================================
    =fncNumerar([Formulário])
    =======================================
    Anexos
    [Resolvido]Auto-numeração em Formulário Folha de dados. AttachmentDELAITV.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (121 Kb) Baixado 30 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 01:59

    Porque não grava a numeração?

    Isso a meu ver seria melhor e isento de erros.

    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 02:07

    Olá.

    obrigado pela resposta.

    Como faço para gravar a numeração?

    Pode me ajudar.?
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 02:55

    Só se for agora.... hehehehe

    Wait a minute please.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 02:56

    Estou aguardando!!!

    Smile
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 03:06

    Crie um módulo e o nomeeie: mdlNumera
    neste o seguinte código:


    Function NumeroLivreVago(CampoID As String, NomeTabela As String, Filtro As String) As Long
    'criada por Alexandre Neves
    'em 2011-06-15
    'para Harysohn
    'do fórum MaximoAccess
    'Adaptado por Harysohn para: lgdelai do fórum MáximoAccess em 19/06/2013
    Dim rst As DAO.Recordset, i As Integer
    Set rst = CurrentDb.OpenRecordset("SELECT " & CampoID & " FROM " & NomeTabela & "  WHERE   CodCon  = " & Filtro & " And Not IsNull(" & CampoID & ")  ORDER BY " & CampoID & ";")
    MsgBox rst.RecordCount
    If rst.RecordCount = 0 Or IsNull(rst(0)) Then
    NumeroLivreVago = 1
    Else
    i = 1
    Do
    If rst.EOF Then
    NumeroLivreVago = i
    Exit Do
    ElseIf IsNull(rst(0)) Or rst(0) = "" Or rst(0) <> i Then
    NumeroLivreVago = i
    Exit Do
    End If
    i = i + 1
    rst.MoveNext
    Loop
    End If
    Set rst = Nothing
    Exit Function
    MostraErro:
    MsgBox Err.Number & vbCr & Err.Description
    End Function


    Esta função percorrerá os registros de um determinado contrato de acordo com o codCon, verificará a ultima numeração da parcela para um contrado na tabela pagamento, não encontrando nenhum registro colocará como 1, encontrando sequenciará a numeração.


    no evento ao entrar do campo Data_Vencimento:


    Private Sub Data_vencimento_Enter()
    Me.[Data_vencimento] = Me.Parent.CONTRATOS![Prox_Pagamento]
    Dim StrID As Integer
    StrID = Me.codcon
    Me![Numero Parcela] = NumeroLivreVago("Numero_Parcela", "Pagamentos", "" & StrID & "")
    End Sub


    Ao entar neste campo utilizo a função para preencher a caixa texto numero Parcela...
    Apague o que tem dentro desta caixa texto.. e a acople ao campo Numero_Parcela da tabela.


    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 03:18

    Só um minuto q vou analisar
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 03:29

    Eis:
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 03:39

    Então.

    verifiquei aqui.

    ele está fazendo igual o que eu usava sem salvar.

    quando clico nos campos, após a numeração ter sido inserida eles vão mudando.

    e fica tudo bagunçado.

    Dei algumas modificadas no que eu criei, da forma como está, mesmo ficando errado quando estou gerando,
    após atualizar, ou sair e voltar ao registro, a numeração fica correta, 
    só nao posso confiar nela do jeito que está para calcular no momento da inserção dos dados.

    O motivo de eu querer isto, é para gerar boletos com data de pagamentos entende?

    Teria alguma outra forma???
    Anexos
    [Resolvido]Auto-numeração em Formulário Folha de dados. Attachment- DELAITV 29.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (123 Kb) Baixado 1 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 03:43

    O que enviei ai acima está funcionando perfeitamente.



    Testou?
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 03:45

    Sim, testei, 

    mas após gerar alguns campos, CLIQUE nas datas aleatoriamente,

    a numeração muda a cada clique. 

    confira.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 03:52

    Agora.. se bem entendi.. voce tem um contrato..

    Valor 1.000,00....

    vai parcelar em 10 x...

    quer gerar 1o registros com datas subsequentes?
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 03:55

    Istooooooo

    Quero que quando terminar de preencher os dados do contrato. 

    ele gere a quantidade de parcelas estabelecidas. 

    a partir da data da primeira que eu defino no contrato.

    Usarei estes dados para gerar os boletos. 

    e os campos em branco, data e valor do pagamento, eu preencho manualmente sempre que 
    cada pagamento for efetuado.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 03:55

    Simples.. no evento ao entrar checaremos se o campo numero_parcela está preenchido ou não:

    Private Sub Data_vencimento_Enter()
    Me.[Data_vencimento] = Me.Parent.CONTRATOS![Prox_Pagamento]
    If IsNull(Me.Numero_parcela) = Fale Or Me.Numero_parcela <> "" Then Exit Sub
    Dim StrID As Integer
    StrID = Me.codcon
    Me![Numero Parcela] = NumeroLivreVago("Numero_Parcela", "Pagamentos", "" & StrID & "")
    End Sub


    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 03:56

    Talvez um botão que ativasse este preenchimento pudesse ser criado

    ficaria melhor, não sei, trabalho com access, mas não tenho conhecimento tão profundo.

    Estou feliz que aqui tem muita gente disposta a ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 04:20

    Dentro so subformulário contratos crie um botão e intitule: btnGeraParc
    No evento click deste:


    Private Sub btnGerarParc_Click()
    Dim X As Integer
    Dim StrDataBase As Date
    Dim dblValor As Double
    'aplico na variável o valor total do contrato dividido pelo número de parcelas
    dblValor = Me.Valor_contrato / Me.Parcelas
    'faço um loop de acordo com a quantidade de parcelas para inserir a quantidade de registros
    'de acordo com o número de parcelas
    For X = 1 To Me.Parcelas
        'adiciono na variável o mes do início do contrato acrescido de 1 mês, de acordo com o valor de x
        StrDataBase = DateAdd("m", 1, Me.Inicio_da_vigencia)
        'adiciono os registros na tabela
        CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela,Valor_Pago) Values (""" & Me.Codigo_do_contrato & """, " _
                         & """" & Me.Inicio_da_vigencia & """, """ & X & """, """ & dblValor & """)"
    Next X
    Forms!Clientes.PAGAMENTOS.Requery
    End Sub



    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 04:34

    Com uma pequena correção, a data de vencimento estava inserindo a mesma...


    Private Sub btnGerarParc_Click()
    Dim X As Integer
    Dim StrDataBase As Date
    Dim dblValor As Double
    'aplico na variável o valor total do contrato dividido pelo número de parcelas
    dblValor = Me.Valor_contrato / Me.Parcelas
    'faço um loop de acordo com a quantidade de parcelas para inserir a quantidade de registros
    'de acordo com o número de parcelas
    For X = 1 To Me.Parcelas
        'adiciono na variável o mes do início do contrato acrescido de 1 mês, de acordo com o valor de x
        StrDataBase = DateAdd("m", X, Me.Inicio_da_vigencia)
        'adiciono os registros na tabela
        CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela,Valor_Pago) Values (""" & Me.Codigo_do_contrato & """, " _
                         & """" & StrDataBase & """, """ & X & """, """ & dblValor & """)"
    Next X
    Forms!Clientes.PAGAMENTOS.Requery
    MsgBox "Parcelas geradas", vbInformation, "PRONTO"
    End Sub


    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 04:35

    vOU Tentar agora neste ultimo bd que te mandei.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 04:43

    Ei-lo:

    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 05:01

    Cara

    VOCÊ É censurado!!!!
    Tem muito tempo q eu to tentando fazer isso cara, e ninguém até agora conseguia me dar uma luz.
    vc me de uma solução. hehehe.
    Muito obrigado mesmo.

    Agora, veja bem.
    O campo, Valor Pag, é referente ao pagamento feito pelo cliente eu vou preenche-lo manualmente
    quando o cliente pagar, com o valor pago por ele, com juros se for o caso.

    Então este campo nem precisa ser preenchido, quando eu for gerar o boleto, eu busco ele 
    no valor da parcela do contrato.

    Você fez o codigo no bd 27, e agora estou na versão 29 a ultima que upei, você viu?

    Vou tentar aqui, copiar as alterações para a 29, mas e com relação ao valor que está sendo preenchido, 
    como faço para remover. eu vi uma parte no código comentada, de dividir o valor do contrato pelas parcelas para 
    se obter o valor, mas esto com medo de mexer e bagunçar tudo pq nao conheço a fundo esta linguagem usada.

    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 05:09

    O que deseja?

    Poderia deixar um campo com o valor e outro para o pagamento..

    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 05:15

    Certo.

    Também pensei em deixar o valor da parcela e o valor pago, pode ser uma alternativa.
    Mas dê só um tempo nesta questão para que eu compreenda uma coisa.

    Vc me passou dois códigos.
    Um primeiro que gera as parcelas. 

    e depois um que gera ao clicar em um botão.

    Eu preciso dos dois para gerar ou só do código do botão, pois percebi que são parecidos.

    Obrigado.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 05:17

    Para que voce aprenda...

    A instrução é simples... voce tem que ter para cada campo um valor (Values) a ser adicionado..

    se 5 campos, 5 expressões em Values...

    Ex:

        CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela,Valor_Pago) Values (""" & Me.Codigo_do_contrato & """, " _
                         & """" & StrDataBase & """, """ & X & """, """ & dblValor & """)"


    ou seja,

    CurrentDb.Execute "INSERT INTO SuaTabela (SeuCampo1, SeuCampo2, SeuCampo2) Values (""" & SeuValor1 & """,

    """ & SeuValor2 & """,""" & SeuValor3 & """)

    Para não ficar em uma linha só na expressão em cores acima note que após a virgula na parte de cima eu coloquei " _ (aspas duplas, espaço e underline) e no início da segunda parte uma " (aspas duplas) antes das 3 aspas duplas do valor... isto é somente para dar quebra de linha.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 05:23

    O primeiro código foi segundo a necessidade primeira que voce citou... Numerar registros sequenciais.
    Ele apenas numera os registros a cada insercão.. gera números sequenciais... de acordo com o contrato... 1,2,3....

    So será gerado se voce inserir manualmente cada registro.

    Pois bem... no segundo código (do botão) ele insere automaticamente tantos registros quanto os numeros de parcelas que tem no contrato...
    O código está bem explicado.

    Não há mais necessidade portanto do primeiro código que colocamos ao entrar do campo data. Capite?
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 05:24

    Faça todos os testes que necessitar... vou dormir agora... amanha dou uma passadinha por aqui e vejo se tens mais alguma dúvida.

    Boa noite.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 05:35

    Ok.

    Consegui migrar o código para o meu bd que está preenchido com os dados dos clientes. 

    porém não está gerando a numeração.

    Será que esqueci de algo?

    Eu adicionei o modulo numera e o codigo do botão.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 05:41

    Não estava acoplado, e tive que modificar o data venc, para ao entrar e adicionar o codigo que vc adicionou.

    vou testar.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 05:56

    Meu amigo PILOTO.

    DEU CERTO!!!

    Muito obrigado, agora meu próximo passo que é gerar os boletos fica muito fácil.

    Mas se estive apanhando aqui, tenha certeza que volto a pedir socorro.

    Boa noite meu amigo.Surprised
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 20/6/2013, 15:54

    Primeiramente evite escrever em maiúsculas nos post's.... Isso contraria as regras do Fórum.

    Segundo, o primeiro código (mdlNumera) não seria necessário com o botão de gerar parcelas... ha não ser que depois de inseridas as parcelas através do botão queira adicionar mais alguma parcela extra.


    Esqueceste de clicar no resolvido no tópico, desta vez eu coloco.

    Bom trabalho.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 20/6/2013, 16:02

    Ok, obrigado pelas dicas.

    Com relação ao mdlnumera, eu tentei usar o botão sem ele, e não estava numerando.

    tive que colocar.

    Pode me explicar melhor o funcionamento do modulo?

    01) sem ele só os números deixariam de aparecer? ou não conseguiria inserir mais parcelas que a quantidade 
    estabelecida?

    02) Recebi um erro quando clico no campo data vencimento com o campo numero parcela em branco.
          Aparece fim ou ir para o depurador, se eu clico em fim, nada mais ocorre.
          Consigo suprimir este erro.?

    Obrigado.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 22/6/2013, 03:17

    Observe atentamente o código do botão... Ele funciona sem a necessidade do mdlNumera... o mdlNumera repito... foi para a primeira solução que necessitava...

    Inserir várias parcelas (Código do botão) fui eu que sugeri.



    Dim X As Integer
    Dim StrDataBase As Date
    Dim dblValor As Double
    'aplico na variável o valor total do contrato dividido pelo número de parcelas
    dblValor = Me.Valor_contrato / Me.Parcelas
    'faço um loop de acordo com a quantidade de parcelas para inserir a quantidade de registros
    'de acordo com o número de parcelas
    For X = 1 To Me.Parcelas 'Aqui se voce tem 24 parcelas, ele executa 24 loops.. observe que a cada loop o valor de x será incrementado (de 1 a 24)

       'adiciono na variável o mes do início do contrato acrescido de 1 mês, de acordo com o valor de x
        StrDataBase = DateAdd("m", X, Me.Inicio_da_vigencia)
        'adiciono os registros na tabela, aqui serão inseridos 24 registros
        CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela,Valor_Pago) Values (""" & Me.Codigo_do_contrato & """, " _
                         & """" & StrDataBase & """, """ & X & """, """ & dblValor & """)"

    'Executa outro loop até o valor de x for igual a 24
    Next X
    Forms!Clientes.PAGAMENTOS.Requery
    MsgBox "Parcelas geradas", vbInformation, "PRONTO"
    End Sub


    Portanto mais explicativo impossível... então não é necessário o mdlnumera quando utiliza o código do botão.

    Agora... se voce quiser inserir a parcela de número 25.... ai sim... como ja terá inserido as 24 parcelas... precisará do mdlNumera para que o campo Numero_Parcelas seja numerado com o número sequencial, qual seja >>> 25

    O que o módulo numera faz?

    Ele carrega um recordset com os registros da tabela pagamento filtrado pelo NumCon... ou seja... se para determinado contrato voce tenha 24 parcelas geradas... o mdlNumera carrega as 24 parcelas, identifica o último nnumero válido (25) e aplica o seu sequencial no registro novo..>>> 25

    Ps. Quanto ao erro que citou sobre clicar na data de pagamento com o Numero_Parcela em branco... No modelo que fiz não ocorre erro algum.

    Poste o teu modelo atual para que eu possa ver.

    Compreendeu?
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 22/6/2013, 23:03

    Olá Piloto.

    Estou enviando em anexo como está o meu BD agora, 

    A versão atual é a 29.

    Algumas observações.

    01) Modifiquei o código do botão e removi a parte que preenchia o valor do pagamento automaticamente.
    02) Ao preencher um contrato novo do zero, percebi que preciso para as parcelas serem geradas eu precisei
              deixar o prompt no campo "Nº Parcela", porém após gerar a primeira vez, o problema não ocorre mais
              "no mesmo contrato" parece que é apenas em um contrato novo.
    03) Quando clico no  campo "Data_Venc" sem que haja um numero no campo "Nº parcela" abre uma caixa de mensagem
               com as opções "FIM" "DEPURADOR"
    04) Quando pulo manualmente para o proximo pagamento, os campos não são numerados.

    Obrigado.
    Anexos
    [Resolvido]Auto-numeração em Formulário Folha de dados. Attachment- DELAITV 29 - Multa atualizada.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (128 Kb) Baixado 5 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 22/6/2013, 23:39

    Verei logo mais.


    cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 23/6/2013, 14:12

    Meu amigo.. eu vou te fazer uma pergunta...

    Voce quer gerar as parcelas de acordo com a quantidade de parcelas do contrato?
    Ou inserir parcelas manualmente e numerar o Numero_pArcela?


    Voce decide.... Se vai gerar apenas as parcelas de acordo com a quantidade de parcelas do contrato, não é necessário o mdlNumera...

    Oras... se ja preenche as parcelas necessárias, para que clicar em um novo registro sem numero?
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 23/6/2013, 14:57

    Vamos la.. a algumas modificaçõea para melhor automatizar o processo de geração do contrato:

    1 - Ao digitar a Duração do Contrato (Meses) >>> Preencher automaticamente o número de parcelas

    Código:

    Private Sub Duracao_do_contrato_AfterUpdate()
    Me.Parcelas = Me.Duracao_do_contrato
    End Sub

    2 - Ao preencher o início da vigencia, efetuar o preenchimento do Fim da vigência, dia do pagamento e data para o primeiro pagamento

    Código:

    Private Sub Inicio_da_vigencia_AfterUpdate()
    Dim nMeses As Integer
    nMeses = Me.Duracao_do_contrato
    Me.[Fim_da_vigencia] = DateAdd("m", X, Me.Inicio_da_vigencia)
    Me.Dia_para_Pagamento = Format(Me.Inicio_da_vigencia, "dd")
    Me.Data_primeiro_pagamento = DateAdd("M", 1, Me.Inicio_da_vigencia)
    Me.Data_ultimo_pagamento = DateAdd("m", X, Me.Inicio_da_vigencia)
    End Sub

    3 - caixa texto valor do contrato antes da caixa texto valor da parcela, ao preencher  o valor do contrato efetuar a divisão e lanças no Valor da parcela e salva o registro

    Código:

    Private Sub Valor_contrato_AfterUpdate()
    Me.Valor_parcela = Me.Valor_contrato / Me.Parcelas
    DoCmd.RunCommand acCmdSaveRecord
    End Sub

    4- Quanto ao erro ao clicar na data.... Voce necessita ter no subformulário uma caixa texto para acopla-la ao campo CodCon, criei a caixa texto, nomeei de CodCon e a acoplei no campo da tabela CodCon, agora Repito... não é necessário o mdlParcelas para utulizar o Botão Gerar Parcelas (Uma coisa não tem nada haver com outra) são códigos separados e um não depende do outro, então não me fale que ao retirar o mdlNumera não funciona o código do botão.


    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 24/6/2013, 15:20

    Olá. 

    obrigado novamente pelo retorno.

    Com relação as modificações, fico grato e vou analisar com calma para ver se não compromete alguma parte do preenchimento.

    com relação a preencher automaticamente a quantidade de parcelas,não posso usar este recurso pois, nem sempre
    as parcelas tem a mesma duração da vigencia, por exemplo, tenho um cliente que fez um contrato de um ano e pagou em 
    3 parcelas compreende.

    Com relação a sua 4 observação, acredito que esteja, certo, como você viu em minha resposta anterior, 

    tive problemas ao gerar as parcelas sem antes ter clicado no campo "N parcela" em seguida eu devo ter adicionado o código
    e no teste com o mdlnumera criado ai sim devo ter pressionado no campo e clicado no botão, então pensei que o erro 
    fosse por conta do código.

    Vou analisar com calma para aprender o código e dou um retorno.

    Muito obrigado.


    Obs.: Minha namorada me viu trocando mensagens com um cara que eu nunca vi na vida, e me perguntou: "Uai??? e ele te ajuda
    assim de graça? só por ajudar mesmo?

    kkkk

    então pensei, o susto dela, deixa claro como funciona a mente da maioria das pessoas, onde tudo tem que ser remunerado e ninguém
    é capaz de fazer nada sem que esteja esperando algo em troca.

    "se o mundo fosse unido e compartilhasse conhecimento como os profissionais de informática seria muito melhor"

    Bom dia.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 24/6/2013, 15:46

    Quando se acredita que o conhecimento que possui és um dom Divino... fica fácil deduzir que nada mais justo que compartilhar aquilo que lhe foi dado gratuitamente por Deus... e utilizá-lo para que o Puro Amor de Cristo seja difundido neste mundo de interesses...

    Devo muito mais que conhecimento a Deus... devo a minha vida... esta foto que ai está em meu perfil foi o que sobrou do meu avião em 2009 quando me acidentei gravemente.... Foram 2 meses de hospital e 1 ano sem andar... porém Ele estava comigo... e se me poupou a vida nada mais justo que eu retribuir com ao menos o mínimo possível... e mesmo assim ainda ficarei em débito com Ele..


    Abraços.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 27/6/2013, 08:11

    Pronto.

    Preferi não adicionar automaticamente a data do primeiro pagamento, visto que as vezes dou um prazo
    maior na primeira parcela aos meus clientes.


    Analizando o código do botão, eu percebi que ele utilizar a data do inicio da vigencia para definir
    os pagamentos, e isto pode ocasionar problemas no futuro, justamente pelo fato de eu as vezes dar um
    prazo maior no primeiro vencimento.


    Modifiquei o código do botão removendo a parte de calcular o valor da parcela pois não irei usar e
    tentei modificar para que as datas fossem geradas a partir da data do primeiro pagamento, porém não deu
    certo, foi gerada uma parcela a mais e a data começa pulando um mes.

    Como faço para corrigir isto, segue código como está agora.



    Private Sub btnGeraParc_Click()

    MsgBox "Deseja gerar as parcelas?", vbInformation, "OK"
    Dim X As Integer
    Dim StrDataBase As Date
    'faço um loop de acordo com a quantidade de parcelas para inserir a quantidade de registros
    'de acordo com o número de parcelas
    For X = 1 To Me.Parcelas
    'adiciono na variável o mes do início do contrato acrescido de 1 mês, de acordo com o valor de x
    StrDataBase = DateAdd("m", X, Me.Data_primeiro_pagamento)
    'adiciono os registros na tabela
    CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela) Values (""" & Me.Codigo_do_contrato & """, " _
    & """" & StrDataBase & """, """ & X & """)"
    Next X
    Forms!Clientes.PAGAMENTOS.Requery
    MsgBox "Parcelas geradas", vbInformation, "PRONTO"

    End Sub



    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 27/6/2013, 14:30

    Não testei mas penso que colocando X para iniciar do 0 e verificando o caso, se x = 0 A data da parcela = data do vencimento
    e o valor de x =1 na instrução Insert Into.

    Caso X <> 0   na instrução Insert Into X = X +1 e a data da parcela...

    Como x iniciará em 0 a instrução for retira 1 do número de parcelas.


    Private Sub btnGeraParc_Click()

    MsgBox "Deseja gerar as parcelas?", vbInformation, "OK"
    Dim X As Integer
    Dim StrDataBase As Date
    'faço um loop de acordo com a quantidade de parcelas para inserir a quantidade de registros
    'de acordo com o número de parcelas
    For X = 0 To Me.Parcelas -1
    'adiciono na variável o mes do início do contrato acrescido de 1 mês, de acordo com o valor de x
    If X = 0 Then
    StrDataBase = Me.Data_primeiro_pagamento)
    'adiciono os registros na tabela
    CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela) Values (""" & Me.Codigo_do_contrato & """, " _
    & """" & StrDataBase & """, '1')"
    Else
    StrDataBase = DateAdd("m", X, Me.Data_primeiro_pagamento)
    'adiciono os registros na tabela
    CurrentDb.Execute "INSERT INTO Pagamentos (CodCon,Data_Vencimento,Numero_Parcela) Values (""" & Me.Codigo_do_contrato & """, " _
    & """" & StrDataBase & """, """ & X + 1 & """)"
    End If
    Next X
    Forms!Clientes.PAGAMENTOS.Requery
    MsgBox "Parcelas geradas", vbInformation, "PRONTO"

    End Sub



    Cumprimentos.
    lgdelai
    lgdelai
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  lgdelai 27/6/2013, 18:18

    Exatamente, Deu certinho.

    Muito obrigado novamente meu amigo
    e peço desculpa por tomar seu tempo,

    se
    sentir dificuldade algo posso retornar neste
    tópico?

    Boa Tarde.
    avatar
    Convidado
    Convidado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Convidado 27/6/2013, 18:36

    Nova Dúvida, Novo Tópico.

    O Fórum agradece o Retorno.

    Bom trabalho.

    Conteúdo patrocinado


    [Resolvido]Auto-numeração em Formulário Folha de dados. Empty Re: [Resolvido]Auto-numeração em Formulário Folha de dados.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 16:18