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


4 participantes

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    avatar
    alexnilto
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 27/08/2016

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  alexnilto 1/8/2017, 19:42

    Pessoal. Preciso da ajuda dos mestres. Me ajudem, por favor.
    Criei um formulário baseado em uma tabela e preciso, através de uma caixa de texto não acoplada, inserir dados em um campo denominado valor em outra tabela a partir desse formulário, como faço isso?
    Resumindo: formulário principal, baseado na tabela 1, tem um campo não acoplado (txtValor), quero inserir o valor no campo Valor da tabela 2.
    Me ajudem por favor.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 2/8/2017, 12:49

    Olá Alexnilto Sousa,

    Pode usar diretamente a Instrução SQL.
    Exemplo para adicionar um registo:
    Código:
    DoCmd.RunSQL "INSERT INTO SuaTabela ( CampoDaTabela ) SELECT " & Me.txtValor & ";"

    Se for para atualizar, use o UPDATE.

    Não falta exemplos no fórum, se tiver dúvidas efetue uma "Busca", veja como fazer:
    https://www.maximoaccess.com/t1115-busca-no-forum-search

    Abraço
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty (Resolvido)Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 2/10/2019, 22:01

    Ahteixeira, por favor, Voltando a este assunto antigo:
    Pelo que entendi, se eu tenho um formulário com um campo AB “não acoplado” (esse campo tem a soma de um sub deste formulário), tenho como enviar o valor desde campo AB para uma nova tabela que pretendo criar?
    Obrigado!


    Última edição por Carlos Cruz em 3/10/2019, 22:15, editado 1 vez(es)
    Sidney
    Sidney
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 431
    Registrado : 08/10/2012

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Sidney 2/10/2019, 23:25

    Boa Noite Carlos!!

    Use o mesmo código que o Alexandre está mostrando, que servirá também.

    att;Sidney
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty (Resolvido)Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 3/10/2019, 19:43

    Realmente o código funcionou. Criei um botão no formulário onde tenho o campo não acoplado, evento ao clicar e coloquei o código:
    DoCmd.RunSQL "INSERT INTO SuaTabela (CampoDaTabela) SELECT " & Me.CampoNãoAcoplado & ";"

    Obrigado a todos!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 4/10/2019, 16:36

    Olá a todos,

    Carlos Cruz, obrigado pelo retorno, fico feliz por ter resolvido.

    Alexnilto Sousa, abriu o tópico e não deu qualquer feedback nem encerrou o tópico.
    Vou dar o tópico como resolvido, uma vez que ficou comprovada a eficácia da dica.

    Abraço a todos
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 11/10/2019, 22:42

    Teixeira, desculpe reabrir novamente este tópico, realmente consegui inserir o valor do campo AB “não acoplado” numa tabela, mas o erro que agora está apresentando é “Campos não coincidem”.

    Já verifiquei todos os campos envolvidos nas tabelas e formulários, fiz vários testes. O que está causando o erro são valores dos formulários que nascem de uma função que geram valores automaticamente, mesmo estes campos estando como Moeda com 2 casas decimais ou automático, ocorre este erro.
    Uma das linhas do comando que faz nascer um valor a receber está assim:

    rs("ContasRec_Vlr") = Round(Me.VlrOrc / Me.QuantPcVC, 2)

    Desta forma o campo mostra o valor com 2 casas decimais, mas o sistema entende que existe mais casas, causando o erro, por exemplo:

    24,20 / 4 = 6,05 sem dúvida é um valor com 2 casas decimais, sem problema, não ocorre erro.

    133,33 / 4 = 33,3325 no campo AB mostra com 2 casas decimais 33,33 mas ocorre o erro “campos não coincidem”

    A solução “se é que existe” seria eu criar um novo campo AB, com uma função para somar o outro campo AB que está ocorrendo o erro, mas formatando o novo campo AB para moeda 2 casas, para o sistema eliminar as demais casas e não fique apenas escondido.

    Desde já agradeço e peço desculpas por tantas palavras!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 12/10/2019, 09:00

    Olá Carlos,

    Normalmente não passamos campos calculado, calculamos quando neçessario.
    Mas pode haver casos que necessitamos apenas do campo calculado numa tabela e não temos os campos origem.

    Quanto à questão fiquei com dúvida de que forma está alimentar a tabela de vida recordeset ou sql.

    Mostre o código que está a utlzar é a linha onde está ocorrer o erro.
    O ideal seria a base de dados com a parte envolvida na questão para se testar.

    Abraço
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty (Resolvido) Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 14/10/2019, 13:49

    ahteixeira, obrigado pelo retorno. Sei que fica difícil pela complexidade particular dos meus códigos, acho que vou alterar na origem do valor no meu banco de dados. De qualquer forma passo abaixo o código que gera parcelas a receber, mas não se preocupe, vou tentar de outras maneiras. Obrigado pela atenção e dicas. Abraço!

    O código onde gera o valor é um botão que tenho no formulário, ele pega o valor da venda e divide pela quantidade de parcelas, e gera parcelas no contas a receber com 2 casas decimais, mas a soma destas parcelas em um campo AB não consigo exportar para outra tabela, erro: campos não coincidem, já fiz várias alterações no campo da tabela e no AB, tipos de campos, casas decimais etc inclusive neste campo se digitar o valor com 2 casas aí sim consigo exportar, mas quando gerado pelo código não!

    Código:
    If DLookup("ContasRec_Parc", "Tab_82VCTG", "(ContasRec_NrOrc) = " & (VendaCli_NrOrc)) = 1 Then
    MsgBox " PARCELA JÁ CRIADA PARA ESTE NÚMERO DE DOCUMENTO ", vbInformation, "CALCULO PARCELAS"
    Exit Sub

    ElseIf (Me.VlrOrc > 0) And (Me.QuantPcVC > 0) Then
    Dim db
    Dim rs
    Dim I   As Integer
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Tab_82VCTG")
    For I = 1 To Me.QuantPcVC
    rs.AddNew
    rs("ContasRec_NrOrc") = Me.VendaCli_NrOrc
    rs("ContasRec_PesqCatCliFor") = Me.VendaCli_PesqCatCliFor
    rs("ContasRec_PesqCliFor") = Me.VendaCli_PesqCliFor
    rs("ContasRec_QuantParc") = (Me.QuantPcVC)
    rs("ContasRec_Parc") = I
    rs("ContasRec_Vlr") = Round(Me.VlrOrc / Me.QuantPcVC, 2)    

    'Aqui ele pega o valor do orçamento e divide pela quantidade de parcelas, gera o valor de cada parcela
    'Quando feito pelo código o sistema entende várias casa decimais, preciso que seja apenas 2 casas.

    rs("ContasRec_Vcto") = DateAdd("m", I - 0, InfDataEmiVC)

    rs.Update
    Next
    rs.Close
    db.Close
    Me.SubFrm_82VCTG.Requery
    Me.QuantPcVC.SetFocus
    Else
    End If
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 14/10/2019, 15:15

    Olá,

    Tente assim:
    Código:
    rs("ContasRec_Vlr") = CCur(Round(Me.VlrOrc / Me.QuantPcVC, 2))

    Por curiosidade, qual é tipo de dados do campo ContasRec_Vlr.

    Também pode tentar o format.

    Abraço
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 16/10/2019, 18:25

    ahteixeira, obrigado pelo retorno!

    Seu código também cria parcelas, mas o problema das casas decimais continuam os mesmos. Dados dos campos são todos moedas 2 casas decimais.

    Por gentileza se voce puder analisar o pequeno banco de dados anexo, nele poderá testar o erro.

    No   Frm_Consulta_Tab_Bancos   tem um botão com comando para exportar o valor do campo AB para a Tab_RecebeVlrCampoAB   resulta no erro

    Obrigado, desculpe tanta insistência minha, mas é muito importante para mim, tentei de muitas formas, sem sucesso.
    Anexos
    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Attachmentarchive.zip
    Inserir dados numa tabela a partir de uma caixa de texto não acoplado
    Você não tem permissão para fazer download dos arquivos anexados.
    (113 Kb) Baixado 17 vez(es)
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Carlos Cruz 17/10/2019, 14:06

    Se todo este processo é apenas para enviar a soma de uma coluna da consulta para um campo da tabela, pergunto:

    Teria como criar um novo campo na consulta com a soma de uma coluna da consulta, como saldo acumulado, utilizando “critério” ou “agrupar” a soma de todas as linhas em apenas uma linha?
    Não sei se consegui explicar?

    Por favor, coloco-me a disposição para maiores esclarecimentos.

    Obrigado a todos!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 17/10/2019, 16:44

    Olá Carlos,

    Estou agora a ver, afirma o seguinte:
    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado 093

    Com base no ficheiro que partilhou, se pretendermos atualizar todos os registos automaticamente do campo TabBco_Vlr da tabela Tab_Bancos, podemos fazer com uma consulta atualizar.

    No exemplo que partilhou, crie uma consulta e coloque o código abaixo e teste o resultado:
    Código:
    UPDATE Tab_Bancos SET Tab_Bancos.TabBco_Vlr = Round([TabBco_Vlr],2);

    Abraço
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 17/10/2019, 16:58

    Olá de novo,

    Se compreendi bem para adiconar, crie outra consulta e cole o código abaixo:
    Código:
    INSERT INTO Tab_RecebeVlrCampoAB ( Tab_Bancos_Vlr ) SELECT IIf([TabBco_DC]="C",Round([TabBco_Vlr],2),Round([TabBco_Vlr],2)*-1) AS VX FROM Tab_Bancos;

    Neste caso é uma consulta adicionar, verifique.

    Meu teste:
    cld.pt/dl/download/19509749-b8cf-4119-8ad1-9d701cc7e3fd/PLANEJADO_rev.zip

    Abraço
    avatar
    Carlos Cruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 26/02/2014

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty (Resolvido)Inserir dados numa tabela a partir de uma caixa de texto não aco

    Mensagem  Carlos Cruz 24/10/2019, 13:57

    Nos códigos colocados neste tópico, tomar cuidado:
    Com aspas quando campo texto, sem aspas quando campos numéricos.
    Abraço a todos!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Alvaro Teixeira 24/10/2019, 16:55

    cheers

    Conteúdo patrocinado


    [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado Empty Re: [Resolvido]Inserir dados numa tabela a partir de uma caixa de texto não acoplado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 22:23