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]Como executar uma instrução SQL em VBA?

    Compartilhe

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Qua 30 Jul 2014, 15:28

    Bom dia, como executar, em VBA, essa instrução:

    INSERT INTO Hemo ( CódigoOS )
    SELECT Laudos.CódigoOS
    FROM Laudos
    WHERE (((Laudos.CódigoOS)=[Formulários]![Formulário1]![CódigoOS]));


    Grato

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Qua 30 Jul 2014, 15:45

    Pode fazer o teste ao pressionar de um botão no seu form;

    Código:
    CurrentDb.excute "INSERT INTO Hemo (CódigoOS) " & vbCrLf & _
    "SELECT Laudos.CódigoOS " & vbCrLf & _
    "FROM Laudos " & vbCrLf & _
    "WHERE Laudos.CódigoOS=" & Forms!Formulário1![CódigoOS]


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Qua 30 Jul 2014, 15:52

    Bom dia JPaulo, obrigado pela ajuda.

    Testei e ocorre o seguinte:

    Erro de compilação:
    Método ou membro não encontrado




    Ficando ![CódigoOS] selecionado.

    Grato

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Qui 31 Jul 2014, 15:12

    CódigoOS é numerico ou texto ?


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Qui 31 Jul 2014, 18:01

    Olá, é numérico.


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Qui 31 Jul 2014, 18:26

    Então como está tem de funfar.
    Reveja se o nome do form e do campo é mesmo esse.


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Qui 31 Jul 2014, 19:20

    Olá JPaulo, agora sim, funcionou. Havia tentado utilizar Docmd.RunSQL no lugar de CurrentDb.Execute, depois desfiz isso e funcionou (não sei como).

    Mas veja, como é um tipo de consulta ação, não pede para confirmar se desejo executá-la (mesmo essa opção estando marcada nas opções do Access).


    Amigo, não querendo abusar, mas dá pra me ajudar mais uma vez?

    Estou executando essa consulta no evento Ao clicar de minha combobox que lista os nomes das tabelas que preciso inserir dados. Ao clicar ela abri e inseri o dado do registro atual que preciso do meu formulário.

    Veja que uso INSERT INTO para inserir um dado na tabela Hemo.
    Há uma forma de inserir esse dado na respectiva tabela que será aberta ao clicar na combo?
    E que esse dado já apareça quando a tabela for carregada, sem que eu tenha que atualizar para ele ser exibido?


    JPaulo, muito obrigado pela ajuda.

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Sex 01 Ago 2014, 11:22

    Se o amigão quiser anexar aqui parte do seu banco, será mais facil de resolver isso para você.


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Sex 01 Ago 2014, 12:21

    Claro, amigo. Segue o banco.

    As tabelas que quero inserir usando INSERT INTO são: Hemo, Glico e Crea (outras podem ser criadas depois).


    Obrigado
    Anexos
    Banco de Dados1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (190 Kb) Baixado 7 vez(es)

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Sex 01 Ago 2014, 14:21

    Você não pode utilizar o procedimento ao prssionar da combo.

    Tem de utilizar o procedimento depois de atualizar, veja o simples;

    Código:
    Private Sub cboTabelas_AfterUpdate()

    Select Case Me.cboTabelas.Value
            Case Is = "FHemo"
            'Insere CódigoOS na tabela Hemo
            CurrentDb.Execute "INSERT INTO Hemo (CódigoOS) Values(" & Forms!Formulário1![CódigoOS] & ")"
            'Abre form FHemo no CódigoOS correspondente
            DoCmd.OpenForm "FHemo", , , "CódigoOS = " & Me.CódigoOS
            Case Is = "FGlico"
            'Insere CódigoOS na tabela Glico
            CurrentDb.Execute "INSERT INTO Glico (CódigoOS) Values(" & Forms!Formulário1![CódigoOS] & ")"
            'Abre form FGlico no CódigoOS correspondente
            DoCmd.OpenForm "FGlico", , , "CódigoOS = " & Me.CódigoOS
    End Select
      
    End Sub
    Anexos
    Banco de Dados1_OLD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (60 Kb) Baixado 10 vez(es)


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Sex 01 Ago 2014, 15:10

    Perfeito, JPaulo. Mas veja, pretendo criar mais de 20 tabelas a serem preenchidas com INSERT INTO.

    Sei que posso fazer isso com SELECT CASE, mas veja que o código ficaria muito extenso. Tem uma forma de deixá-lo menor ou não tem problema fazer assim?

    Grato


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  JPaulo em Sex 01 Ago 2014, 15:29

    Não tem qualquer problema fazer assim, o select case comporta muito mais.


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

    Jonatan
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 03/05/2012

    Re: [Resolvido]Como executar uma instrução SQL em VBA?

    Mensagem  Jonatan em Sex 01 Ago 2014, 17:39

    Muito obrigado, amigo. Realmente você e outros aqui do fórum são feras. Me ajudou muito.

    Abraços

      Data/hora atual: Qua 07 Dez 2016, 20:10