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


5 participantes

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 27/6/2020, 21:56

    Olá a todos

    Estou a tentar inserir várias linhas numa tabela, se for assim funciona:
    Código:
    CurrentDb.Execute "INSERT INTO Tbl_Ano_Temp (Ano) VALUES ('" & Text1 & "');"
    CurrentDb.Execute "INSERT INTO Tbl_Ano_Temp (Ano) VALUES ('" & Text2 & "');"
    CurrentDb.Execute "INSERT INTO Tbl_Ano_Temp (Ano) VALUES ('" & Text3 & "');"


    Mas se for assim não funciona:
    Código:
    CurrentDb.Execute "INSERT INTO Tbl_Ano_Temp (Ano) VALUES ('" & Text1 & "'),('" & Text2 & "'),('" & Text3 & "');"

    Onde estou a errar?

    Obrigado

    Bruno Gordino
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 299
    Registrado : 19/08/2010

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  marcelo3092 27/6/2020, 22:48

    Bom se pretende criar um registro para cada text teria que fazer um loop agora se quer adicionar os dados dos tres campos num campo so basta concatenar.

    CurrentDb.Execute "INSERT INTO tbl_ano_temp (ano) VALUES ('" & Texto0 & "' & '" & Texto2 & "' & '" & Texto4 & "');"
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 27/6/2020, 22:57

    Olá Marcelo

    O que eu pretendo são 3 registos separados com uma só instrução de código.

    Obrigado pela atenção.

    Bruno Gordino
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 27/6/2020, 23:02

    Marcelo,

    Basiei-me neste tópico mas não funcionou:
    https://discuss.codecademy.com/t/is-there-a-shorter-way-to-insert-multiple-rows-in-a-table/376659/9

    Bruno Gordino
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  DamascenoJr. 28/6/2020, 01:21

    Vale ressaltar que nem todas as sintaxes de instruções SQL são aceitas para Backend Access.

    Como alternativa, tente salvando o banco em uma variável.

    Código:
    dim objBD as dao.database

    Set objBD = currentDB
    Call ojbBD.execute("insert into...")
    set objBD = nothing


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Multilos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 29/6/2020, 23:21

    Viva Damasceno Jr, tudo bem consigo?

    Realmente estou a trabalhar com um BD com BE.

    Experimentei o código que me passou e continua a dar erro.

    Cmp

    Bruno Gordino
    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] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  Alvaro Teixeira 29/6/2020, 23:52

    Olá a todos,

    Bruno, na minha opinião se são 3 entradas (linhas) é da forma que tem.
    Outra hipotese seria abrir o recordeset e adicionar os 3 registos e fechar.
    Fica a sugestão e agurdamos que algum colega tem outra solução para adicionar os tres registo com um "gatilho" apenas.

    Abraço a todos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  DamascenoJr. 30/6/2020, 01:45

    docs.microsoft escreveu:Para adicionar vários registros ao mesmo tempo a uma tabela, use a instrução INSERT INTO juntamente com uma instrução SELECT.

    docs.microsoft escreveu:Consulta acréscimo de vários registros:
    INSERT INTO target [(field1[, field2[, …]])] [IN externaldatabase] SELECT [source.]field1[, field2[, …] FROM tableexpression

    docs.microsoft escreveu:Consulta acréscimo de registro único:
    INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …])

    docs.microsoft escreveu:Utilize uma instrução INSERT INTO extra com uma cláusula VALUES para cada registro adicional que desejar criar.

    fonte:
    docs.microsoft.com/pt-br/office/client-developer/access/desktop-database-reference/insert-into-statement-microsoft-access-sql
    docs.microsoft.com/pt-br/office/vba/access/concepts/structured-query-language/insert-update-and-delete-records-from-a-table-using-access-sql

    A sintaxe pretendida não é suportada para back-end em Access. Mas é possível utilizá-la com front-end em Acces e back-end em MySQL.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    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] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  Alvaro Teixeira 30/6/2020, 09:15

    Olá a todos,

    Como sempre digo "com o MaximoAccess é sempre aprender". Wink
    Obrigado Ivan, desconhecia.

    Ficamos aguardar a feedback do colega.

    Abraçoa todos
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Multilos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 30/6/2020, 19:15

    Viva a todos

    Deixo aqui um exemplo teste, que mesmo não tendo qualquer BE continua a dar erro.

    Obrigado
    Anexos
    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 23 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  DamascenoJr. 1/7/2020, 03:23

    Isso é um front-end e back-end no mesmo arquivo!

    Não entenda back-end como arquivo separado exclusivo para tabelas.

    A grosso modo, entenda back-end como local para armazenamento das tabela e seus registros. E sendo assim, seu arquivo contém o objeto tabela onde os registros serão armazenados, ou seja, ainda é back-end Access.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    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] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  Alvaro Teixeira 2/7/2020, 09:59

    Olá a todos,

    Estive a verificar a documentação que partilhou e parece que permite fazer vários registos usando o SELECT mas se tiver uma base de dados (que alimenta os vários registos).

    Damasceno, pode exemplificar como ficaria com o exemplo que o colega Bruno partilhou?
    No entanto repare que não tem tabela, mas sim várias caixas de texto.
    Eu tentei mas não consegui.

    Abraço a todos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  DamascenoJr. 3/7/2020, 04:18

    Álvaro, não conseguiu porque não dá.

    Para inserir vários registros com um comando só em uma tabela em arquivo Access é necessário ter duas tabelas. Uma onde os registros estão e outra para onde os registros vão. Exemplo:

    Código:
    insert into tblPortugueses (cpNome) select cpNome from tblPessoas where cpNacionalidade = 'Portugal';

    A sintaxe que o Bruno aponta existe, porém não é suportada no Access.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    aeps gosta desta mensagem

    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] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  Alvaro Teixeira 3/7/2020, 12:06

    Olá a todos,

    Damasceno, está esclarecido, também tinha chegado a essa conclusão.
    Aguardamos o retorno do colega Bruno, mas no Access não vai conseguir em caixas de texto.

    Abraço
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 291
    Registrado : 24/02/2013

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  brunogor 6/7/2020, 00:37

    Viva Marcelo, Damasceno e Álvaro.

    Sempre a aprender, fiquei mais uma vês super esclarecido.

    Muito obrigado pela atenção dispensada.

    Até uma próxima.

    Bruno Gordino
    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 05/10/2016

    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Inserir num INSERT INTO um valor de uma Caixa de Texto.

    Mensagem  aeps 20/3/2023, 17:19

    Damasceno, Tem como inserir um valor de uma Caixa de Texto no comando abaixo?

    insert into tblPortugueses (cpNome) select cpNome from tblPessoas where cpNacionalidade = 'Portugal';


    Objetivo é inserir vários registro de uma tabela na outra tabela, mas que pegue um dado na Caixa de Texto do formulário.

    No aguardo.

    Conteúdo patrocinado


    [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez Empty Re: [Resolvido] Multiplos "INSERT INTO" não funcionam de uma só vez

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 11:57