MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro insert into em uma tabela com select de outra

    Compartilhe

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Qua 10 Fev 2016, 01:39

    Boa noite pessoal, estou com um problema, utilizei o comando sql em outro form e funcionou mas ao modificar o processo do sistema o comando foi para outro form. Preciso selecionar uns valores de uma tabela compra_itens e inserir na tabela estoque, utilizei o comando abaixo:

    currentdb.execute "insert into estoque (cod_prod, descricao_prod, numero_serie_prod, fabricante_prod, categoria_prod, qtd_prod, unid_prod, valor_unid_prod, fornecedor_prod, data_compra_prod, num_nf) values (select (cod_prod, descricao_prod, numero_serie_prod, fabricante_prod, categoria_prod, qtd_prod, unidade_prod, valor_unid_prod, fornecedor_prod, data_compra, nf_prod) from compra_itens where [codigo_compra]= " & me.txtcod &")"

    Sempre fica dando erro de sintaxe na select.

    Podem me ajudar com esse problema?

    Att.

    Polonio

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 05/02/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  philipp.moreira em Qua 10 Fev 2016, 02:12

    Polonio, creio que o erro está sendo ocasionado por este trecho do seu código "... values (select (cod_prod, descricao_prod ..." ao utilizar o keyword VALUES e passar os campos do select como se fossem parametros, por utilizar parenteses.

    tente isso:

    currentdb.execute "INSERT INTO estoque
    (
    cod_prod,
    descricao_prod,
    numero_serie_prod,
    fabricante_prod,
    categoria_prod,
    qtd_prod,
    unid_prod,
    valor_unid_prod,
    fornecedor_prod,
    data_compra_prod,
    num_nf
    )

    SELECT
    cod_prod,
    descricao_prod,
    numero_serie_prod,
    fabricante_prod,
    categoria_prod,
    qtd_prod,
    unidade_prod,
    valor_unid_prod,
    fornecedor_prod,
    data_compra,
    nf_prod
    FROM compra_itens
    WHERE [codigo_compra]= " & me.txtcod

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Qua 10 Fev 2016, 13:05

    Phillipp.moreira, obrigado, mas conforme voce me orientou, retirei o value e o parentes entre o select e o final da linha e deixei o parentes somente nos campos do select e apresentou o erro:

    Erro em tempo de execução: 3075
    Erro de sintaxe (vírgula) na expressão de consulta '(cod_prod, descricao_prod, numero_serie_prod, fabricante_prod, categoria_prod, qtd_prod, unidade_prod, valor_unid_prod, fornecedor_prod, data_compra, nf_prod)'.

    Grato.

    ronaldojr1
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 01/08/2011

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  ronaldojr1 em Qui 11 Fev 2016, 19:39

    quando eu uso insert junto com select eu faço assim, v c t ajuda
    Código:

    Dim strSQL As String

    strSQL = "INSERT INTO TabelaDestino ( nmCampoDestino )" & _
             "SELECT TabelaOrigem.nmCampoOrigem " & _
             "FROM TabelaOrigem " & _
             "WHERE TabelaOrigem.nmCampoOrigem = '" & me.nmCampoFormulario & "'"

    DoCmd.RunSQL strSQL

    ai vc tenta adaptar ao seu codigo.
    boa sorte

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Sex 12 Fev 2016, 00:19

    Aconteceu o mesmo erro que informei, estou usando o Access 2010. O comando que utilizo funcionava em outra tela, mas como tive de adaptar o sistema ao processo, precisei inserir o codigo em outra tela onde não funcionou mais.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2315
    Registrado : 14/08/2013

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  FabioPaes em Sex 12 Fev 2016, 00:26

    Verifica se esse me.txtcod Esta no formulário com esse nome e se esta la com o Formato Numero! Se não tiver, coloque com Numero e faça um teste!!!

    Pois salvo Engano, qnd é Texto fica assim: WHERE [codigo_compra]= '" & me.txtcod & "' e Qnd é Numero Fica assim: WHERE [codigo_compra]= " & me.txtcod & "

    ronaldojr1
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 01/08/2011

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  ronaldojr1 em Sex 12 Fev 2016, 10:54

    polonio, vc esta usando exatamente essa consulta?

    currentdb.execute "INSERT INTO estoque
    (
    cod_prod,
    descricao_prod,
    numero_serie_prod,
    fabricante_prod,
    categoria_prod,
    qtd_prod,
    unid_prod,
    valor_unid_prod,
    fornecedor_prod,
    data_compra_prod,
    num_nf
    )

    SELECT
    cod_prod,
    descricao_prod,
    numero_serie_prod,
    fabricante_prod,
    categoria_prod,
    qtd_prod,
    unidade_prod,
    valor_unid_prod,
    fornecedor_prod,
    data_compra,
    nf_prod
    FROM compra_itens
    WHERE [codigo_compra]= " & me.txtcod

    caso for, vai dar erro mesmo

    repare na clausula where, o campo informado(codigo_compra) não existe na tabela "Compra_Itens".
    imagino q se vc criar o campo que está faltando nao vai dar erro.

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Sex 12 Fev 2016, 15:19

    Fabiopaes, verifiquei se é texto e número. Eu criei uma caixa de texto receber esse valou de uma lista e eu comparo junto a tabela e está certo o formato, na tabela está como número, na caixa de texto coloquei o formato de número tb e mantive o sql para " & me.txtcod & " e da o mesmo erro.

    ronaldojr1, o campo existe na tabela compra_itens.

    Mas o problema continua

    Grato pela atenção de todos.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2315
    Registrado : 14/08/2013

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  FabioPaes em Sex 12 Fev 2016, 15:21

    Faca um teste, mandando rodar sem a condicao Where, daee se passar sem erros sabemos onde esta o problema... MAS RODE EM BD TESTE TA.

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  JPaulo em Sex 12 Fev 2016, 15:48

    Não seria melhor anexar aqui parte do seu banco para o ajudarmos ?

    É que parece coisa simples, mas sem testar-mos torna-se dificil.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

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

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Sab 13 Fev 2016, 15:57

    Pessoal, segue anexo parte do sistema.
    Anexos
    sistema_info.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2 Mb) Baixado 17 vez(es)

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2315
    Registrado : 14/08/2013

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  FabioPaes em Sab 13 Fev 2016, 23:24

    Aqui deu certo assim:

    Código:

    CurrentDb.Execute "insert into estoque ( Cod_Prod,descricao_prod, numero_serie_prod, fabricante_prod, categoria_prod, qtd_prod, unid_prod, valor_unid_prod, fornecedor_prod, data_compra_prod, num_nf )" & _
    "select compra_itens.cod_prod, compra_itens.descricao_prod, compra_itens.numero_serie_prod, compra_itens.fabricante_prod, compra_itens.categoria_prod, compra_itens.qtd_prod, compra_itens.unidade_prod," & _
    "compra_itens.valor_unid_prod, compra_itens.fornecedor_prod, compra_itens.data_compra, compra_itens.nf_prod FROM compra_itens WHERE codigo_compra = " & Me.txtCodCompra & ""


    Me.txtCodCompra é o Campo que mostra o Codigo da compra no formulario, esta como Numero.

    polonio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/01/2016

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  polonio em Dom 14 Fev 2016, 16:52

    fabio funcionou conforme voce respondeu, agradeço pela atenção de todos.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2315
    Registrado : 14/08/2013

    Re: [Resolvido]Erro insert into em uma tabela com select de outra

    Mensagem  FabioPaes em Dom 14 Fev 2016, 17:24

    Bacana que deu Certo...

      Data/hora atual: Qua 07 Dez 2016, 08:35