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]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
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    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.
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 291
    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.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3271
    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 & "
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 291
    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.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3271
    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.
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9382
    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.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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 19 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3271
    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.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3271
    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: Dom 20 Ago 2017, 12:40