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]Numeração sequencial em campo tipo texto

    avatar
    dlourencini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 5
    Registrado : 13/05/2011

    [Resolvido]Numeração sequencial em campo tipo texto Empty [Resolvido]Numeração sequencial em campo tipo texto

    Mensagem  dlourencini 24/10/2015, 20:31

    Olá pessoal.

    Tenho um banco de dados de contas a pagar, onde em um dos formulários tem uma instrução para gerar pagamentos parcelados, tipo aluguel, que tem todos os meses e é o mesmo valor até o mês de correção. Ao invés do usuário digitar mês a mês esta despesa, ele digita apenas uma vez e informa a quantidade de parcelas.
    Esse código eu peguei aqui no fórum e está redondinho. O que eu preciso é o seguinte:

    Quando o usuário escolher a forma de pagamento como sendo cheque pré-datado, será exibido um campo [numerododocumento] para informar apenas o número do primeiro cheque (ex: 34567) e o sistema numera os demais cheques conforme o número de parcelas (ex: 5 parcelas -> cheques 34567, 34568, 34569, 34570 e 34571).
    É isso que não sei fazer.

    Informações do banco de dados:

    Tabela tb_despesa:
    [codigodadespesa] - numeração automática
    [descricaodadespesa] - texto
    [formadepagto] - texto
    [numerododocumento] - texto
    [datadovencimento] - data/hora
    [valordadespesa] - moeda


    Formulário frm_input_despesa_sequencial: campos não acoplados:
    [txtdescricaodadespesa]
    [txtdatadovencimento]
    [txtformadepagto]
    [txtnumerododocumento]
    [txtvalordadespsa]
    [txtqtdparcelas]

    Código no evento ao clicar do botão botao-cadastrar-sequencia:

    Dim I As Integer
    Dim StrDateAdd As Date
    Dim StrValorParc As Double
    Dim Parc As String
    StrValorParc = Me.txtVALORDADESPESA
    For I = 0 To (Me.txtQTDPARCELAS - 1)
    StrDateAdd = DateAdd("m", I, Format(Me.txtDATADOVENCIMENTO, "dd/mm/yyyy"))
    StrParc = I & "/" & Me.txtQTDPARCELAS
    CurrentDb.Execute "INSERT INTO TB_DESPESAS(CODIGOCENTRODECUSTO,DESCRICAODADESPESA,FORMADEPAGTO,DATADOVENCIMENTO,VALORDADESPESA)" _
                       & " Values(""" & Me.txtCODIGOCENTRODECUSTO.Value & """,""" & Me.txtDESCRICAODADESPESA.Value & """,""" & Me.txtFORMADEPAGTO.Value & """,#" & Format(StrDateAdd, "mm/dd/yyyy") & "#, """ & StrValorParc & """);"
    Next I
    MsgBox "Sequência de despesas cadastrada com sucesso.", vbInformation, "Aviso"

    Poderiam me ajudar?
    Desde já agradeço.
    avatar
    dlourencini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 5
    Registrado : 13/05/2011

    [Resolvido]Numeração sequencial em campo tipo texto Empty Re: [Resolvido]Numeração sequencial em campo tipo texto

    Mensagem  dlourencini 27/10/2015, 03:24

    Pessoal, resolvido!
    Foi só pensar um pouco e alterar o tipo de dados do campo [numerododocumento] de texto para número.
    No botão que gera as parcelas, fiz algumas alterações, a saber (em negrito):

    Dim I As Integer
       Dim StrDateAdd As Date
       Dim StrValorParc As Double
       Dim Parc As String
       Dim StrNumDoc As Double
       StrNumDoc = Me.txtNUMERODODOCUMENTO - 1
       StrValorParc = Me.txtVALORDADESPESA
       For I = 0 To (Me.txtQTDPARCELAS - 1)
       StrDateAdd = DateAdd("m", I, Format(Me.txtDATADOVENCIMENTO, "dd/mm/yyyy"))
       StrParc = I & "/" & Me.txtQTDPARCELAS
       StrNumDoc = Me.txtNUMERODODOCUMENTO + I
       CurrentDb.Execute "INSERT INTO TB_DESPESAS(CODIGOCENTRODECUSTO,DESCRICAODADESPESA,FORMADEPAGTO,NUMERODODOCUMENTO,DATADOVENCIMENTO,VALORDADESPESA)" _
                       & " Values(""" & Me.txtCODIGOCENTRODECUSTO.Value & """,""" & Me.txtDESCRICAODADESPESA.Value & """,""" & Me.txtFORMADEPAGTO.Value & """,""" & StrNumDoc & """,#" & Format(StrDateAdd, "mm/dd/yyyy") & "#, """ & StrValorParc & """);"
       Next I
       MsgBox "Sequência de despesas cadastrada com sucesso.", vbInformation, "Aviso"

    Funciona belezinha.
    Valeu galera.

      Data/hora atual: 29/3/2024, 05:19