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]Usando a instrução Insert Into

    Compartilhe

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Seg 28 Abr 2014, 21:46

    Olá pessoa, boa tarde a todos.
    Já consegui muitas informações nesse fórum e já percebi que a galera aqui é fera.
    Estou com alguns problemas na implementação de um sistema de gerenciamento de cadastro e outras funções no meu serviço.
    Estou desenvolvendo um banco de dados para cadastrar todos os funcionários, para criar escalas de serviços, memorandos, fax e ofícios.
    A parte de cadastro está quase no ponto.
    Não estou conseguindo fazer que uma campo de uma tabela seja preenchida automaticamente por um campo de outra tabela.
    Tenho as tabelas:
    - Funcionários com os campos Matrícula (chave primária), Nome, Nome de Guerra, ... Posto/Graduação, Sigla, ...
    - Posto/Graduação com os campos: Posto_Graduação, Sigla

    Bem, eu uso a segunda tabela para listar os valores válidos para o referido campo da 1ª tabela. Assim, quando o usuário for informar o Posto ou a Graduação (militar), ele terá que escolher uma das opções da caixa de combinação. Isso já está funfando perfeitamente. No entanto, para implementar a funcionalidade de criar escalas de serviços, preciso apenas da sigla do posto ou graduação, de forma que não seja necessário o usuário informar a sigla. Eu preciso fazer com que após salvar o registro, o campo Sigla da tabela Funcionários seja preenchida automaticamente pelo sistema de acordo com a tabela Posto/Graduação.
    Assim:
    Tabela Posto/Graduação
    Posto_Graduação:::::::Sigla
    Coronel.....................Cel
    Major........................Maj

    A tabela também já está povoada, precisando apenas que a sigla correspondente seja inserida no campo Sigla da tabela Funcionários.

    Já tentei vários comandos Insert Into:

    CurrentDb.Execute "Insert Into Funcionários(Sigla) Select Sigla From Posto/Graduação Where Posto_Graduação= '" & Me.Posto_Graduação & "'"


    Já tentei o comando ao alterar, ao sair, ao clicar, etc...
    Os erros são os de: erro de compilação, era esperado 2, dados incompatíveis, algo desse tipo, etc.
    Gostaria de ajuda.

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  JPaulo em Seg 28 Abr 2014, 22:31

    CurrentDb.Execute "Insert Into Funcionários(Sigla) Select Sigla From [Posto/Graduação] Where Posto_Graduação= '" & Me.Posto_Graduação & "'"


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

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 12:48

    JPaulo, agradeço mas também não funcionou. Não deu nenhuma mensagem de erro, mas não inseriu nenhum valor (texto) no campo Sigla da tabela Funcionários. Criei até um botão extra apenas para testar o comando, mas não fez a inserção do valor de um campo para o outro.
    Se preferir eu posso postar o meu banco para você dar uma olhada.

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  JPaulo em Ter 29 Abr 2014, 13:01

    Faça o teste assim, por favor;

    CurrentDb.Execute "Insert Into Funcionários (Sigla) Select [Posto/Graduação].Sigla From [Posto/Graduação] Where Posto_Graduação= '" & Me.Posto_Graduação & "'"



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

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 14:41

    Irmão, nada ainda.
    Tem que colocar algum outro comando antes?
    Esse é o código do botão:

    Private Sub Comando772_Click()
    CurrentDb.Execute "Insert Into Funcionários(Sigla) Select [Posto/Graduação].Sigla From [Posto/Graduação] Where Posto_Graduação= '" & Me.Posto_Graduação & "'"
    End Sub

    Criei esse botão apenas para testar a ação mais não faz nada.
    Não sei se devo colocar algum comando antes ou depois.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  rdrck em Ter 29 Abr 2014, 14:59

    Olá Efrain,
    Não entendi direito. Você precisa setar uma sigla no campo "Sigla" da tbl_Funcionários?
    E quer que isso seja dessa forma: Quando selecionar o Posto/Graduação no campo, automaticamente incluir a sigla correspondente no outro campo?
    Se for, pode fazer através de consulta.
    Mas confirme se é isso mesmo.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 15:08

    Exatamente.
    Preciso que assim que eu selecionar um valor do campo Posto_Graduação, o campo Sigla, da mesma tabela (Funcionários), receba a sigla correspondente que está na tabela Posto/Graduação (campos: Posto/Graduação, Sigla).
    Coloquei um botão apenas para teste, mas o que eu vou fazer é na hora que eu selecionar (ao sair, ou ao perder o foco, ou ao alterar) ele execute a ação.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  rdrck em Ter 29 Abr 2014, 16:06

    Olá,
    Veja lá esse exemplo se atende ao que você quer.
    Verifique o cadastro no form.
    Anexos
    Posto_Sigla.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (18 Kb) Baixado 21 vez(es)


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 16:52

    Olá rdrck, pode ser assim também.
    No caso o formulário acessa a consulta que exibe a sigla. No caso não fica armazenado na tabela de cadastro dos funcionários, estará disponível apenas na hora da consulta. Isso já quebra o meu galho, mas ainda gostaria de saber se tem como inserir esses valores no campo da tabela, ou só tem como consultar através do relacionamento entre as tabelas.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  rdrck em Ter 29 Abr 2014, 16:58

    Bom, na verdade, o campo CodPosto, na tbl_Funcionario, está trazendo todas as informações (Cod, Posto e Sigla).
    A consulta é que está mostrando esses dados de forma individual.
    Eu, particularmente, uso dessa forma. Não uso código. Até porque os usuários não acessam as tabelas ou consultas, somente manipulam os dados que querem através dos forms. Então você tem a liberdade de trabalhar os dados de maneira que chegue ao esperado.
    Talvez um de nossos colegas possa lhe ajudar de outra maneira.
    Mas fica a dica.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 17:04

    De qualquer forma já serve. Muito grato pela dica.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  rdrck em Ter 29 Abr 2014, 17:24

    Obrigado pelo retorno.
    Se foi resolvido de forma satisfatória, só não esqueça de clicar no [Resolvido], para não ficar o tópico em aberto.
    Sucesso.
    Valeu.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 17:50

    Irmão, eu fiz o seguinte:
    Usei a sua sugestão para exibir a sigla no form_cadastro e igualei o campo Sigla de origem da tb_funcionários ao campo Sigla da consulta.
    Depois usei o código visible = false, para ocultar os referidos campos do form_cadastro.
    Foi uma gambiarra mas deu certo.
    Mais uma vez agradeço aos feras que me ajudaram.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  rdrck em Ter 29 Abr 2014, 17:54

    É uma forma...
    Como eu disse, você é livre pra fazer as "gambiarras" por trás do frontend.
    Só não esqueça do [Resolvido].
    Valeu.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Usando a instrução Insert Into

    Mensagem  efrain_ben-orion em Ter 29 Abr 2014, 17:57

    Blz.
    Valeu irmão.

      Data/hora atual: Sab 03 Dez 2016, 15:39