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]Recordset não grava na tabela o valor do campo do formulario

    Compartilhe

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 25/2/2018, 03:59

    Senhores,

    Tenho a seguinte situação:

    Tenho um formulário principal  que possui um subformulário. No rodapé do subformulário há um campo onde soma os valores selecionados. No formulário principal, há um campo onde mostra a soma do subformulário. Até aí, tudo perfeito.

    No formulário principal, fiz um recordset para que os valores sejam transferidos para uma tabela. Até aí, tudo bem também, pois todos os valores do recordset são gravados na tabela, menos o valor de um campo. que é justamente o campo que onde mostra a soma do subformulário: Exemplificando:


    no subformulário "Frm_SubCartaoCreditoPagamento" tenho o campo "txtquitar" onde na fonte de controle do campo está o seguinte comando:

    =Soma(SeImed([selecionar]=Verdadeiro;[xxvalor];0))

    Nota: o campo xxvalor vem de uma expressão da consulta, que renomeei o campo  "Vl" (valor) da tabela.

    no formulário principal "Frm_PagamentoCartaoCredito", também tenho um campo "txtquitar1" onde na fonte de controle do campo está o seguinte comando:

    =[Frm_SubCartaoCreditoPagamento]![txtquitar]

    Nestes dois campos, nas propriedades,  estão o formato como padrão e duas casas decimais.

    no recordset apenas o campo txtquitar1 grava o valor "0" zero, ao invés da soma dos campos selecionados! Os valores dos outros campos gravam normalmente na tabela.

    Não entendi o que está acontecendo. Já tentei mudar a configuração do campo sem sucesso. Se alguém puder ajudar, agradeço antecipadamente.

    Segue abaixo o código do recorset que estou utilizando:

    Código:
    Public Function cadastralotequitacao() As Integer

    'Cria o lote e lança a soma dos dados selecionados para quitação
        
        Dim db As DAO.Database
        Dim rslote As DAO.Recordset
        Dim rslancamento As DAO.Recordset
        
        Set db = CurrentDb()
        Set rslote = db.OpenRecordset("tbl_Lote", dbOpenDynaset)
        Set rslancamento = db.OpenRecordset("tbl_Movimento", dbOpenDynaset)
        
        rslote.AddNew
        rslote("nrlote") = Me.txtNrLote
        rslote("data") = Me.txtdtquitacao
        rslote("descricao") = Me.txtdescricao
        rslote("cod_pessoa") = Me.txtcodcorrentista
        rslote("cod_unidade") = Me.txtunidade
        rslote("status") = "L"
        rslote.Update
        rslote.Close
        Set rslote = Nothing
        
        
        rslancamento.AddNew
        rslancamento("nrlote") = Me.txtNrLote
        rslancamento("dtocorrencia") = Me.txtdtquitacao
        rslancamento("datavencimento") = Me.txtdtvencimento
        rslancamento("dataprevisaopgtorec") = Me.txtdtquitacao
        rslancamento("datapgtorec") = Me.txtdtquitacao
        rslancamento("tipotransacao") = Me.txtcodtransacao
        rslancamento("parcela") = "1"
        rslancamento("numerodoc") = "s/n"
        rslancamento("cod_pessoa") = Me.txtcodcorrentista
        rslancamento("unidade") = Me.txtunidade
        rslancamento("centrocusto") = Me.txtCC
        rslancamento("beneficiario") = Me.txtbeneficiario
        rslancamento("cod_conta") = Me.txtcontacartao
        rslancamento("descricao") = Me.txtdescricao
        rslancamento("Vl") = Me.txtquitar1   ' O problema está somente neste campo que grava zero na tabela
        rslancamento("d/c") = "D"
        rslancamento("status") = "L"
        rslancamento("selecionar") = True
        rslancamento("quitado") = True
        rslancamento.Update
        rslancamento.Close
        Set rslancamento = Nothing
        
        db.Close
        Set db = Nothing

    End Function

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 25/2/2018, 13:11

    Jose Eugenio

    rslancamento("Vl") = Me.txtquitar1   ' O problema está somente neste campo que grava zero na tabela

    Experimente isso:

     rslancamento("Vl") = [Frm_SubCartaoCreditoPagamento].Form![txtquitar] 'estamos pegando o valor da txtquitar do subform.

    Caso não funfe:

    Digite a referencia completa da caixa de texto selecionar e xxvalor (me.subCartaoCreditoPatamento.form!selecionar/xxvalor).

    Não coloquei direto na linha por ficar em dúvida.

    rslancamento("Vl") = Sum(IIF([selecionar]=True,[xxvalor],0)) 'note que mudei o ( ; ) para  ( , )


    [ ]'s

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 25/2/2018, 14:15

    Prezado Noob,

    Primeiramente, obrigado pelo interesse em me ajudar!

    Fiz exatamente como voce orientou, porém ocorreu o seguinte:


    Primeiro:  
    rslancamento("Vl") = [Frm_SubCartaoCreditoPagamento].Form![txtquitar] 'estamos pegando o valor da txtquitar do subform.

    Tentei esta forma, porém, continua trazendo 0 (zero) no valor!



    Segundo:
    Digite a referencia completa da caixa de texto selecionar e xxvalor (me.subCartaoCreditoPatamento.form!selecionar/xxvalor).

    Também fiz como orientado. Porém, dá erro nos campos ao rodar o formulario e o subformulario.
    Funcionam quando no campo selecionar, na fonte de controle como: "selecionar", bem como no campo xxvalor, na fonte de controle como: "xxvalor"


    Terceiro:
    rslancamento("Vl") = Sum(IIF([selecionar]=True,[xxvalor],0)) 'note que mudei o ( ; ) para  ( , )

    Também, da mesma forma ocorre erro:
    Erro de compilação
    Numero de argumentos incorreto ou atribuição de propriedade inválida.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 25/2/2018, 15:14

    Jose Eugenio

    Não são duas operações, é uma somente:

    Digite a referencia completa da caixa de texto selecionar e xxvalor (me.subCartaoCreditoPatamento.form!selecionar/xxvalor).

    aqui:

    rslancamento("Vl") = Sum(IIF([selecionar]=True,[xxvalor],0)) 'note que mudei o ( ; ) para  ( , )

    Ou seja:

    rslancamento("Vl") = Sum(IIF([me.subCartaoCreditoPatamento.form!selecionar]=True,[me.subCartaoCreditoPatamento.form!xxvalor],0))

    Agora, antes eu testar veja se é nesse subform que estão esses controles.

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 25/2/2018, 15:32

    Prezado Noob,

    Desculpe, realmente não havia entendido a sua colocação.

    O subformulario é esse mesmo: "Frm_SubCartaoCreditoPagamento"

    Coloquei o comando como voce sugeriu, porém retornou o seguinte erro:

    Erro de compilação
    sub ou function não definida

    E na linha do comando:  rslancamento("Vl") = Sum(IIf([me.subCartaoCreditoPagamento.form!selecionar] = True, [me.subCartaoCreditoPagamento.form!xxvalor], 0))

    ele destaca o "Sum"

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 25/2/2018, 15:43

    Sabe usar a janela imediata do VBA?

    Se sim, verifique as partes de das expressões para ver se está vindo do valor:

    Sum(IIf([me.subCartaoCreditoPagamento.form!selecionar] = True, [me.subCartaoCreditoPagamento.form!xxvalor], 0))

    ? me.subCartaoCreditoPagamento.form!selecionar ' de enter tem aparecer o valor abaixo da linha

    Se der erro, coloque o nome do formulario principal no lugar do me.

    Forms!NomedoFormPricipal!Subcartão....

    teste os dois campos/caixa de tesxto



    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 25/2/2018, 18:23

    Prezado Noob,

    Aprendi agora, com voce, a usar a janela imediata do VBA! Very Happy

    Se eu colocar, como voce orientou, a linha que possui o campo "xxvalor",  somente vem o ultimo valor selecionado.

    Porém, se eu colocar assim na janela imediata, utilizando o campo "txtquitar":

    ?Forms!Frm_pagamentocartaocredito.Frm_SubCartaoCreditoPagamento.Form!txtquitar

    Aí, sim, aparece o valor correto da soma dos valores selecionados que preciso importar para a tabela. Ou seja, ele reconhece o valor dessa linha.

    Mas, ao fazer pelo recordset, ele ainda continua trazendo o valor  0 (zero) para a tabela!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 25/2/2018, 19:20

    Antes de tudo, acho que estamos batendo cabeça por um detalhe:

    Veja isso:

    rslancamento("Vl") = Me.txtquitar1

    Veja o nome do campo V qualquer coisa que n descobri, pois não é 1 nem i e nem L

    Verifique por favor, caso não seja isso que ta pegando, veja abaixo a outra dica.

    -------------------------------------------------------------


    Coloque o valor dessa caixa de texto numa variavel

    No inicio do código:

    Dim Quitar as currency

    curQuitar = Forms!Frm_pagamentocartaocredito.Frm_SubCartaoCreditoPagamento.Form!txtquitar


    e no recordset:

    rslancamento("Vl") = curQuitar

    verifique antes se o tipo de dados é de Vl é moeda

    acho que resolve.

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 25/2/2018, 21:18

    A respeito do nome do campo rslancamento("Vl") = Me.txtquitar1

    o nome é Vl : A letra "V" maiúscula e a letra "L" minuscula.


    Coloquei no inicio do código desta forma:

    Dim curQuitar As Currency
       curQuitar = Forms!Frm_pagamentocartaocredito.Frm_SubCartaoCreditoPagamento.Form!txtquitar


    e no recordset, assim:

    rslancamento("Vl") = curQuitar


    Depois, alterei na tabela tbl_movimento o formato do campo "Vl" para moeda.

    Na janela imediata do VBA, a expressão:
    ?Forms!Frm_pagamentocartaocredito.Frm_SubCartaoCreditoPagamento.Form!txtquitar, traz normalmente o valor total da soma dos itens selecionados.

    Porém, o recordset ainda continua trazendo o 0 (zero) como valor!


    Eu vi o texto abaixo em um tutorial : [Você precisa estar registrado e conectado para ver este link.]

    Solução alternativa
    Para desenvolver um aplicativo que se adapte corretamente às configurações de moeda do usuário, você deve redefinir a propriedade Format de cada controle afetado sempre que abrir um formulário ou relatório. Use o evento Abrir para reatribuir a palavra "Moeda" à propriedade Formatar cada caixa de texto, combinação, etc.

    Por exemplo, no formulário Pedidos do banco de dados de exemplo Northwind, você precisa:

       Private Sub Form_Open (Cancel As Integer)
           Me.Subtotal.Format = "Currency"
           Me.Freight.Format = "Moeda"
           Me.Total.Format = "Moeda"
           Comigo. [Order Subform] .Form
               ! UnitPrice.Format = "Currency"
               ! ExtendedPrice.Format = "Moeda"
               ! OrderSubtotal.Format = "Currency"
           Terminar com
       End Sub
    Sim, torna-se cansativo. A manutenção é o maior problema: você deve considerar esse problema com cada alteração em um formulário ou relatório em um aplicativo internacionalizado.


    Se for o caso, isso se aplicaria ao meu projeto?

    Agradeço mais uma vez por sua paciência!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 25/2/2018, 22:06


    Quanto ao Campo VL (veja que o "L" está bem definido e tem o valor Keycode =76 enquanto o valor daquele caracter que está junto com
    "V" é 22.

    Creio que seja o navegador que mudou isso.


    Seria possível enviar as tabelas, consulta se houver e formulários

    afins pra eu analisar, senão iremos longe, sem chegar a lugar algum




    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 00:28

    Prezado Noob,

    Segue exemplo reduzido do BD para sua análise.

    Mais uma vez obrigado pela ajuda e paciência!
    Anexos
    Exemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (551 Kb) Baixado 2 vez(es)

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 26/2/2018, 00:40

    Agora me diga como proceder para simular a operação?

    Me dê um passo a passo. Wink

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 01:02

    Primeiro, voce seleciona o correntista, que só tem um cadastrado: "Monteiro Lobato"

    Depois vá em lançamentos\operaçoes cartão de credito\pagar cartoes

    Neste ponto voce está no formulario "pagamentos de cartoes de credito

    Na data de vencimento, pode colocar 11/11/2017 e serão selecionadas as parcelas com esse vencimento (clique em atualizar)

    depois coloque uma data de pagamento: pode ser qualquer data

    depois, selecione as parcelas que serão quitadas, onde a soma irá aparecer no "Total a quitar"

    Selecione a unidade, centro de custo, beneficiario (neste exemplo, qualquer um)

    Na descrição voce escreve um texto

    clique em "quitar"

    Será criado um lote de numero 3.

    Vá na tabela tbl_movimento no último lançamento, com o numero do lote 3. Verá que todos os campos estão lançados e o campo valor está zerado! É esse o problema!

    Espero que tenha entendido. rsrs

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 26/2/2018, 13:08

    Primeiro:  Clique  em selecionar de um registro a ser pago, e veja o total da txtquitar1  ao lado do botão Quitar.

    Percebeu que quando vc clica no selecionar ele não coloca o valor?

    Isso porque no registro não foi salvo.

    para consertar isso coloque:


    Private Sub Selecionar_Click()

    DoCmd.RunCommand acCmdSaveRecord

    Me.DataPgtoRec = Me.txtdtquitacao1
    Me.Quitado = Me.Selecionar

    End Sub


    Outra coisa, não consigo ir adiante, aparece esse mensagem:

    [Você precisa estar registrado e conectado para ver esta imagem.]

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 18:35

    Boa tarde, Noob!


    Já coloquei o comando para salvar o registro, como orientado.

    Para que a quitação seja concretizada, o correntista tem que estar selecionado primeiramente. Por isso a mensagem de inicio do programa para selecionar o correntista!

    Neste caso, ele busca o código do correntista selecionado no formulário principal.

    Fiz o teste aqui e deu certo, contudo, com o valor zerado na tabela!

    Obrigado!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 26/2/2018, 20:23

    Inicio a operação desde o inicio.

    Seleciono Monteiro Lobato, o único que existe.

    e a mensagem continua.

    Teste o exemplo que me enviou, pf.

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 20:28

    Ok, farei novamente o teste e lhe informo!

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 23:03

    Prezado Noob,

    Fiz novamente o teste e funcionou normalmente.

    Detalhe: após selecionar o correntista, e quando voce clicar no botão "pagar Cartão", o formulário  deverá abrir com no nome do correntista : "1-MONTEIRO LOBATO" já selecionado. Veja no campo "correntista", em baixo do campo "conta cartão".

    Veja neste BD, que envio agora,  o lote 2, lançado na tbl-lote e o lançamento na tbl_movimento (ultimo lançamento na tabela), com o valor zerado.

    Este bd já com aquela orientação no campo "selecionar" que voce indicou.

    Muito obrigado, mais uma vez.
    Anexos
    Exemplo01.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (561 Kb) Baixado 7 vez(es)

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 26/2/2018, 23:17

    Eu ia perguntar sobre esse campo que sempre está vazio.

    E continua, não aparece o correntista.

    Vou analisar, para ver de onde deve vir esse texto.

    Ah sim! Utilizei o Exemplo1 que acabou de anexar.


    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 26/2/2018, 23:39

    O código está na caixa de listagem, "ao clicar duas vezes" no formulário "selecionar correntista".

    Aqui está funcionando normalmente.

    Um detalhe: o código do correntista está no formulário "frm_PagamentoCartaoCredito", no campo "txtcodcorrentista"

    No modo design o campo está ao lado do campo "txtcorrentista", onde aparece o correntista selecionado.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 26/2/2018, 23:54

    Veja isso:

    A caixa de texto Correntista está definida pra pegar o valor  da caixa de texto do fomPrincipal.

    Mas nesse formPrincipal só tem os botões Correntistas e Lançamentos.


    [Você precisa estar registrado e conectado para ver esta imagem.]


    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 27/2/2018, 00:38

    Noob,

    Desculpe o trabalho que estou lhe dando, mas verifique, por favor, na caixa de listagem do formulário "frm_selecionacorrentista" em clicar duas vezes, está o código abaixo:


    Código:
    Private Sub Correntista_dblClick(Cancel As Integer)

    Call limpar_campos

    Dim filtro As String
    Dim Sel As Variant
    Dim j As Boolean

    filtro = "in("

     For Each Sel In Me!Correntista.ItemsSelected
        
        filtro = filtro & Me!Correntista.Column(0, Sel) & ","
        
        j = True

    Next

    filtro = Mid(filtro, 1, InStrRev(filtro, ",") - 1) & ")"

    filtro = "tbl_pessoa.cod_pessoa " & filtro

    If j = False Then
    Exit Sub

    End If
    Me.txtcod.Value = Replace(Me.txtcod.Value & Correntista.Column(0) & ";" & "", ";", "")
    Me.txtcorrentista.Value = Replace(Me.txtcorrentista.Value & Correntista.Column(1) & ";" & "", ";", "")
    Forms!frm_principal.txtCorrentistaSelecionado = Replace(Me.txtcod & "-" & Me.txtcorrentista, ";", "")
    Forms!frm_principal.txtCodCorrentistaSelecionado = Me.txtcod.Value

    End Sub

    Private Sub limpar_campos()
    Me.txtcod.Value = ""
    Me.txtcorrentista.Value = ""
    End Sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 27/2/2018, 01:04

    Sim

    Eu já tinha visto ele.

    Mas não entendo, como o funfa aí e não funfa aqui?


    O erros encontrados:

    - Referencia errada na caixa de texto Correntista .

    - A msgbox do post 14, pede para colocar um valor num campo da tblLote que não existe, acho que vc mudou o nome desse campo.

    Continuamos amanha,

    Boa noite

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 27/2/2018, 11:00

    Achei o problema!

    No código do botão Quitar,  a linha:
    Frm_SubCartaoCreditoPagamento.Requery ,
    fazia a reconsulta na tabela, apagando os dados do formulário
    antes da função "Call cadastralotequitacao", por isso os valores ficavam zerados.

    Então, tire a linha que esta em vermelho no trecho ali de baixo e coloque
    onde esta em verde.

    [ ]'


    'Ou então, se o campo "Selecionar", estiver marcado, executa o lançamento e atualiza os dados

    ElseIf Frm_SubCartaoCreditoPagamento.Form!Selecionar.Value = True And MsgBox("Deseja executar a quitação?", vbYesNo + vbQuestion, "Atenção") = vbYes Then
       
       Frm_SubCartaoCreditoPagamento.Form!Quitado.Value = True
       'Frm_SubCartaoCreditoPagamento.Requery
       

       Call cadastralotequitacao
       
       Me.txtdtvencimento = ""
       Me.txtdtquitacao = ""
       Me.txtunidade = ""
       Me.txtCC = ""
       Me.txtbeneficiario = ""
       Me.txtdescricao = ""
       Me.txtctapagadora = ""
       
       MsgBox ("Quitação efetuada com sucesso!"), vbInformation, "Finanças Pessoais"
       Frm_SubCartaoCreditoPagamento.Requery
    'Caso contrário, desmarca a caixa de seleção dos campos abaixo
    Else
       Frm_SubCartaoCreditoPagamento.Form!Selecionar.Value = False
       [tbl_movimento]!Quitado.Value = False
       [tbl_movimento]!DataPgtoRec = ""

    'Não havendo nenhum registro no formulário, enibe o comando do botão
    Exit_btnOK_Click:

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 27/2/2018, 12:48

    Prezado Noob,


    Voce é "O cara" Very Happy Very Happy Very Happy

    Pois é... O que é um comando no lugar errado!! Rsrsrs

    Sensacional! Funcionou perfeitamente e resolveu o problema.

    Agradeço muitíssimo pelo seu empenho, profissionalismo e paciência em me ajudar!

    Abraço e sucesso!!

    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 27/2/2018, 12:54

    Resolvido! Very Happy

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  Noobezinho em 27/2/2018, 13:09

    Que bom que pude ajudar! bounce

    O resolvido coloca-se clicando no botão Resolvido abaixo de onde vc digita a mensagem.

    É só editar uma mensagem e clicar nele.

    Se não achar, veja na minha assinatura.

    Boa sorte!


    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    Re: [Resolvido]Recordset não grava na tabela o valor do campo do formulario

    Mensagem  JSommavilla em 27/2/2018, 13:25

    Ok.
    Mais uma vez, obrigado.

      Data/hora atual: 18/11/2018, 19:11