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]Erro na função Insert Into

    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 12:17

    Olá Feras de plantão, bom dia.

    Na instrução abaixo estou encontrando problemas na sua execução, explico:

    Possuo um formulário vinculado a uma tabela (tblCaixa) e nesse formulário denominado frmAssunto possui além do campo CÓD do tipo autonumeração com chave primária um subformulário contínuo vinculado a outra tabela com os campos Assunto, Código, FCorrente, FIntermediária e Destinação (todos do tipo Texto).
    Sobre o registro deste subformulário criei um botão de comando que executará o código abaixo:

    Private Sub Comando15_Click()
    CurrentDb.Execute "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação) VALUES  ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "', '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "') Where ([tbl100]![CÓD] =,  Forms![frmAssunto]![CÓD]) & "");"
    If MsgBox("Estes dados serão à lista abaixo, você confirma?    ", vbYesNo, "Confirmar os dados") = vbYes Then
    Else
    DoCmd.CancelEvent
    End If
    End Sub

    Recebo uma mensagem de erro "Ponto e vírgula faltando ao final da instrução SQL" quando executo, onde está o erro?

    Abraços, WSenna
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  JPaulo 5/2/2015, 15:02

    Ola WSenna;

    Teste por favor;

    Código:
    CurrentDb.Execute "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação) " _
    & "VALUES  ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "'" _
    & ", '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "')" _
    & " Where [tbl100]![CÓD] =" & Forms![frmAssunto]![CÓD] & ")"

    O erro estava aqui (a vermelho) e também não necessita de ponto e virgula no final:

    Where ([tbl100]![CÓD] =,  Forms![frmAssunto]![CÓD]) & "");"


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Erro na função Insert Into Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro na função Insert Into Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro na função Insert Into Folder_announce_new Instruções SQL como utilizar...
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 16:31

    Grande Mestre, boa tarde.

    Amigão, continua dando a mesma mensagem de falta um ponto e vírgula ao final da instrução SQL.

    Abraços, WSenna
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Avelino Sampaio 5/2/2015, 16:48

    Antes de executar coloque a linha num Msgbox() e veja o resultado da montagem

    msgbox "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação) VALUES  ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "', '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "') Where ([tbl100]![CÓD] = Forms![frmAssunto]![CÓD]) & "");"

    A caixa de mensagem irá mostrar o resultado final da sintaxe.  Cole aqui o resultado.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 17:04

    Olá Grande Avelino, boa tarde.

    Segue imagem da caixa de mensagem;


    [img][Resolvido]Erro na função Insert Into 29gnc5j[/img]


    Abraços, WSenna
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 17:10

    Pelo que se pode observar a primeira parte da instrução está correta, apenas o que vem depois do Where é que está pegando.
    Cabe ressaltar que esta instrução se encontra num comando sobre o registro do subformulário contínuo frmAssuntoSub, e que este subformulário não tem vínculos com o formulário frmAssunto.

    Abraços, WSenna
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Avelino Sampaio 5/2/2015, 17:26

    Uma questão: se está inserindo um NOVO registro, não faz sentido usar a cláusula WHERE.


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 17:58

    Caro Avelino, de certo modo sim.

    Imagine que eu tenho um formulário denominado frm100 vinculado à tabela tblCaixa que possui um campo Cód autonumeração com chave primária e um campo Caixa do tipo número.

    Neste formulário possuo um subformulário frm100Sub vinculado à tbl100 que se relaciona com a tabela tblCaixa com tipo de relacionamento Um:Muitos pelo campo Cód. Neste subformulário possuo entre outros campos os campos Assunto, Código, FCorrente, FIntermediária e Destinação todos do tipo texto.
    Atualmente o campo Assunto é uma Combox pesquisa na tabela Temporalidade os campos Assunto, Código, FCorrente, FIntermediária e Destinação. Quando executada esta combox preenche os demais campos automaticamente.

    [img][Resolvido]Erro na função Insert Into X6c29[/img]

    Acontece que o Patrão me pediu que eu criasse uma forma de num outro formulário que demonstrasse toda a tabela Temporalidade com pesquisa avançada e quando selecionado o assunto procurado com dois cliques preenchesse o subformulário daquele formulário lá de cima ou seja o frm100Sub.

    A razão do Cód é porque cada registro do frm100 possui uma Unidade administrativa então não posso inserir assuntos de uma unidade em outra, percebeu?

    É confuso eu sei, mas...

    Lembra que no finado ExpertAccess eu sempre afirmava que em se tratando de Access + VBA tudo se pode? Então...

    Abraços, WSenna
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Avelino Sampaio 5/2/2015, 18:19

    Se eles se relacionam pelo campo COD e só passar para a tabela tbl100

    msgbox "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação,CÓD) VALUES  ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "', '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "', '" & Forms!frmAssunto!CÓD & "')"

    Aguardamos


    Última edição por Avelino Sampaio em 5/2/2015, 18:44, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Alexandre Neves 5/2/2015, 18:21

    Boa tarde, Mestre WSenna
    Teste
    "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação) VALUES ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "', '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "') Where CÓD= Forms![frmAssunto]![CÓD];"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Alexandre Neves 5/2/2015, 18:22

    Amigo Avelino,
    A minha mensagem já estava a caminho
    Abraços,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Avelino Sampaio 5/2/2015, 18:43

    Olá, Alexandre!

    O problema é que eu nunca vi uma consulta INSERT ter a cláusula WHERE. Não faz sentido. Vamos ver o resultado do Wagner sem o uso desta cláusula.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Alexandre Neves 5/2/2015, 18:46

    Compreendo, mas talvez não prejudique


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 19:05

    Amigos, infelizmente nenhuma das soluções Funfou como diz o JPaulo.

    Penso que criei um monstro sem querer.

    Há de se lembrar que a tbl100 não aceitará registros sem que haja um correspondente na tblCaixa, por isso a necessidade do Cód.
    Tabmbém é bom que se diga que o frm100 está aberto sob o frmAssunto.


    WSenna


    Última edição por wsenna em 5/2/2015, 19:14, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Alexandre Neves 5/2/2015, 19:07

    Vá por partes
    - teste com valores, em vez das variáveis
    - após funcionar, substitua os valores por variáveis
    assim, pode verificar se o problema está na sintaxe ou nos valores


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 19:35

    Caros Amigos, segue abaixo um modelo:

    Espero que compreendam melhor meu monstrinho criado.
    Lembrem-se que no subformulário frm100Sub troquei o campo Assunto que era uma combox por um campo texto.

    Abraços, WSenna
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Avelino Sampaio 5/2/2015, 20:46

    Olá!

    No formulário frmAssuntoSub, coloquei assim o código:


    If MsgBox("Estes dados serão à lista abaixo, você confirma?    ", vbYesNo, "Confirmar os dados") = vbYes Then
       CurrentDb.Execute "INSERT INTO tbl100(Assunto,Código,FCorrente,FIntermediária,Destinação,cód) VALUES ('" & Nz(Me.Assunto.Value, 0) & "', '" & Nz(Me.Código.Value, 0) & "', '" & Nz(Me.FCorrente.Value, 0) & "', '" & Nz(Me.FIntermediária.Value, 0) & "', '" & Nz(Me.Destinação.Value, 0) & "', '" & Parent!CÓD & "')"
    End If

    - abro o formulário frmAssunto
    - clico em um litem da lista do formulário frmAssuntoSub
    - Confirmo a gravação
    - fecho o formulário frmAssunto e o formulário frm100 se abre
    - na lista do subformulário frm100sub aparece o item que selecionei e que foi gravado na tabela tbl100 com o código cód=26

    Confirme se é este o procedimento.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 22:44

    Grande Avelino, boa noite.

    Estamos no caminho mais do que certo, Vivaaaaaaa!!!!!!
    O único problema agora é que o novo registro no frm100Sub fica posicionado no primeiro registro e o operador perde a funcionalidade do Ctrl Apóstrofe para repetir o campo do registro anterior.
    Observe que alterei o posicionamento dos campos do subformulário frm100Sub para dar mais lógica no aspecto e mesmo porque o evento Após Atualizar do campo Ano modifica os campos FCorrente e FIntermediária de acordo com os valores prestabelecidos na tabela Assunto.
    Se conseguirmos colocar o campo Pasta em órdem crescente a coisa vai FUNFAR legal.
    Note ainda que coloquei um código no evento Ao Fechar do formulário frmAssunto para que atualize o frm100.

    Abraços, WSenna

    PS. O Monstrinho está sendo domesticado.
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  wsenna 5/2/2015, 23:10

    Senhores, consegui.

    Claro, com ajuda de todos, mas o problema acima do posicionamento do registro resolvi inserindo mais um campo na tabela frm100 "Index" do tipo numeração automática com chave primária e depois criei uma consulta dessa tabela onde coloquei o campo Index como Crescente. Isso forçou o código do Mestre Avelino a posicionar o resultado no último registro.

    Assim dou por resolvido mais essa peleja e o Monstrinho virou um cachorrinho bem domesticado.

    Fico imensamente grato a todos que colaboraram.

    Grande abraço, WSenna

    Conteúdo patrocinado


    [Resolvido]Erro na função Insert Into Empty Re: [Resolvido]Erro na função Insert Into

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 12:43