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]Rotina SQL faltando (;) ponto e vírgula

    Compartilhe

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  gustavolaqua em Dom 03 Abr 2016, 00:38

    Pessoal, estou apanhando para resolver uma string sql que está dando o erro 3137, faltando (Wink ponto e vírgula no final da instrução sql.

    Esta é a instrução SQL

    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe (Codigo_tblPedidoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto) VALUES (Codigo_tblOrcamentoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto)"
    strSQL = strSQL & " SELECT "
    strSQL = strSQL & " FROM tblOrcamentoDetalhe "
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Me.txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL

    Já tentei assim (com o ponto e vírgula) porém dá o mesmo erro


    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe (Codigo_tblPedidoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto) VALUES (Codigo_tblOrcamentoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto)"
    strSQL = strSQL & " SELECT "
    strSQL = strSQL & " FROM tblOrcamentoDetalhe "
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Me.txtCodigoOrcamento.Value & ";"
    CurrentDb.Execute strSQL

    Poderiam ajudar? bounce

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Seg 04 Abr 2016, 14:33

    Ola;

    Repare que o seu SELECT não tem nada.
    No minimo deverá ter um asteristo SELECT *

    Código:
    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe "
    strSQL = strSQL & " (Codigo_tblPedidoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto)"
    strSQL = strSQL & " VALUES (Codigo_tblOrcamentoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto)"
    strSQL = strSQL & " SELECT *"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Me.txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL


    .................................................................................
    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.]

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    Infelizmente nao teu certo

    Mensagem  gustavolaqua em Seg 04 Abr 2016, 16:55

    Inclui o * mesmo assim deu o mesmo erro dizendo que falta ;(ponto e vírgula)

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Seg 04 Abr 2016, 17:26

    Ola;

    Como sabe é extremamente dificil reproduzir aqui;

    Faça o teste somente assim;

    Código:
    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe "
    strSQL = strSQL & " SELECT *"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Me.txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL


    .................................................................................
    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.]

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    Agora deu outro erro

    Mensagem  gustavolaqua em Seg 04 Abr 2016, 21:07

    Testei exatamente como vc passou e deu o seguinte erro:

    "A instrução INSERT INTO contém o seguinte nome de campo desconhecido 'Codigo_tblOrcamentoCapa' Verifique se o nome foi digitado de forma correta e tente a operaçao novamente"

    O formulario que estou trabalhando possue um subformulário(tblOrcamentoDetalhe) e é este que estou copiando os dados para outra tabela(tblPedidoDetalhe).

    Abaixo o único campo com nome diferente entre as duas tabelas:

    tabela: tblOrcamentoDetalhe
    Campo: Codigo_tblOrcamentoCapa / Tipo: Numérico

    Codigo_tblPedidoCapa
    Campo: Codigo_tblPedidoCapa / Tipo: Numérico

    Obrigado

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Ter 05 Abr 2016, 09:32

    Assim já mudaalguma coisa;

    Coloque o nome correto do seu formulario onde está inserido o subformulario e teste;

    Código:
    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe "
    strSQL = strSQL & " SELECT *"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Forms!SeuFormulario!tblOrcamentoDetalhe.Form!txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL


    .................................................................................
    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.]

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    Nao funcionou

    Mensagem  gustavolaqua em Ter 05 Abr 2016, 13:02

    Infelizmente não funcionou.

    O código que testei ficou assim:

    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe "
    strSQL = strSQL & " SELECT *"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Forms!frmVendas!tblOrcamentoDetalhe_subfrm.Form!txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL

    Troquei onde estava escrito SeuFormulario para frmVendas

    só para adicionar

    O form principal é frmVendas (campo txtCodigoOrcamento - tabela tblOrcamentoCapa)
    o subformulario é tblOrcamentoDetalhe_subfrm (campo Codigo_tblOrcamentoCapa - tabela tblOrcamentoDetalhe)

    Desculpe, antes coloquei o nome do subformulario como tblOrcamentoDetalhe e o correto é tblOrcamentoDetalhe_subfrm, porém nos testes já estava utilizando o nome certo mas mesmo assim nao funcionou. Dá o erro:

    Não pode encontrar o campo txtCodigoOrcamento, porém na expressao where, devemos ter o campo do formulário principal apenas, formulário frmVendas e campo txtCodigoOrcamento.

    Mais alguma idéia? Muito obrigado pela ajuda!

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  ahteixeira em Ter 05 Abr 2016, 13:43

    Olá a todos, será texto o código orçamento, teste assim:
    Código:
    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;].tblPedidoDetalhe "
    strSQL = strSQL & " SELECT *"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = '" & Forms!frmVendas!tblOrcamentoDetalhe_subfrm.Form!txtCodigoOrcamento.Value & "'"
    CurrentDb.Execute strSQL

    Abraço

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Ter 05 Abr 2016, 14:42

    Se o campo somente está no frmVendas, tem de ser assim;

    Código:
    WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Forms!frmVendas!txtCodigoOrcamento.Value & ""

    Tem de ir por tentativas, porque aqui é dificil reproduzir.
    A menos que queira anexar parte do seu banco.


    .................................................................................
    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.]

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    Arquivo

    Mensagem  gustavolaqua em Ter 05 Abr 2016, 16:00

    Paulo, mil desculpas!

    Esqueci de postar o programa.

    Segue

    obs: testei e deu erro de campo desconhecido, acho que porque na tabela de origem para a de destino, tem um campo somente diferente,

    Abaixo o único campo com nome diferente entre as duas tabelas:

    tabela: tblOrcamentoDetalhe
    Campo: Codigo_tblOrcamentoCapa / Tipo: Numérico

    Codigo_tblPedidoCapa
    Campo: Codigo_tblPedidoCapa / Tipo: Numérico

    Obrigado mais uma vez Paulo
    Anexos
    teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2 Mb) Baixado 2 vez(es)

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Ter 05 Abr 2016, 16:34

    Testado e a funfar;

    Código:
    strSQL = "INSERT INTO [C:\Users\Gustavo Costa Laqua\Google Drive\01 - Documentos\GUSTAVO\PROJETOS\NETAGIL\ADMINISTRAÇÃO\SISTEMA\ERP.accdb;PWD="";].tblPedidoDetalhe"
    strSQL = strSQL & " (Codigo_tblPedidoCapa, Codigo_Produto, Desconto, Frete, Outros, Quantidade, Valor_Unitario, Valor_Total, Unidade, ValorTotalExtenso, Codigo2_Produto)"
    strSQL = strSQL & " SELECT tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa, tblOrcamentoDetalhe.Codigo_Produto, tblOrcamentoDetalhe.Desconto, tblOrcamentoDetalhe.Frete, tblOrcamentoDetalhe.Outros, tblOrcamentoDetalhe.Quantidade, tblOrcamentoDetalhe.Valor_Unitario, tblOrcamentoDetalhe.Valor_Total, tblOrcamentoDetalhe.Unidade, tblOrcamentoDetalhe.ValorTotalExtenso, tblOrcamentoDetalhe.Codigo2_Produto"
    strSQL = strSQL & " FROM tblOrcamentoDetalhe"
    strSQL = strSQL & " WHERE tblOrcamentoDetalhe.Codigo_tblOrcamentoCapa = " & Me.txtCodigoOrcamento.Value & ""
    CurrentDb.Execute strSQL


    .................................................................................
    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.]

    gustavolaqua
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 12/06/2013

    AEEEE Funcionou!

    Mensagem  gustavolaqua em Ter 05 Abr 2016, 16:45

    Paulo, minha desconfiança foi esta, devido a ter um campo diferente entre as tabelas, teríamos que informar os campos, mas só vc mesmo para me ensinar como fazer.

    Muito obrigado pela ajuda!

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Rotina SQL faltando (;) ponto e vírgula

    Mensagem  JPaulo em Ter 05 Abr 2016, 17:51

    Fico feliz.

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    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.]

      Data/hora atual: Dom 04 Dez 2016, 20:20