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]Rodar código vba somente uma vez

    Compartilhe

    JOJO sp
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 21/12/2016

    [Resolvido]Rodar código vba somente uma vez

    Mensagem  JOJO sp em Seg 27 Mar 2017, 17:37

    Boa tarde, tenho o seguinte código onde é feito o parcelamento de uma venda e lançamento das parcelas no contas a receber.

    Private Sub btngerarp_Click()
    If txtsaldo > 0 Then
    MsgBox ("Essa venda foi lançada no Contas a Receber ")

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tab_contasr") 'Abre a tabela contas a receber
    Valorcr = Me.txtsaldo / Me.QtdeParcelas 'Valor de cada Parcela

    For I = 1 To Me.QtdeParcelas 'Insere as Parcela na tabela contas a receber
    rs.AddNew
    rs("CodVenda") = Código
    rs("Cliente") = Cliente
    rs("CodigoParcelamento") = Documentor
    rs("Descrição") = desc
    rs("ControleParcelas") = I & "/" & Me.QtdeParcelas
    rs("Valorcr") = Valorcr
    rs("Vencimento") = DateAdd("m", I - 1, Me.txtVenc_1_Parc) 'Calcula as datas de Vencto através da função DateAdd()
    rs.Update
    Next
    rs.Close
    db.Close
    Me.tab_contasr_subvendas.Requery 'Atualiza o SubForm
    End If
    End Sub

    Gostaria de executar esse código somente uma vez, pois todas as vezes que clico no botão ele duplica as parcelas.
    Não sei se é possível pesquisar se já foi criada a parcela para depois lançar.

    Obrigado
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Rodar código vba somente uma vez

    Mensagem  ahteixeira em Seg 27 Mar 2017, 17:40

    Olá, pode ter um campo na tabela do tipo true/false que coloca como true depois de gerar.
    Assim pode controlar senja foi gerado.
    Outra forma , efetuar um Dlookup se tem registos.
    Se tiver , avisa que já foi gerado.
    Fica sugestões.
    Abraço

    JOJO sp
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 21/12/2016

    Re: [Resolvido]Rodar código vba somente uma vez

    Mensagem  JOJO sp em Seg 27 Mar 2017, 17:46

    obrigado por responder, pode me dar um exemplo de como faço a primeira opção?
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Rodar código vba somente uma vez

    Mensagem  ahteixeira em Seg 27 Mar 2017, 17:52

    Olá, você está na tabela de vendas e lança em tab_contasr
    Na tabela de vendas crie um campo parcelasGeradas do tipo Sim/Nao
    No valor por de feito coloque false.

    No código
    If parcelasgeradas = true then
    Msgbox "não pode gerar"
    Exit sub
    End if

    Abraço

    JOJO sp
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 21/12/2016

    Re: [Resolvido]Rodar código vba somente uma vez

    Mensagem  JOJO sp em Seg 27 Mar 2017, 19:51

    Muito obrigado , funcionou.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Rodar código vba somente uma vez

    Mensagem  ahteixeira em Seg 27 Mar 2017, 20:57

    Olá Joiaribe,
    Obrigado pelo retorno.
    Os utilizadores do fórum agradecem.
    Abraço

      Data/hora atual: Sab 18 Nov 2017, 19:21