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]Insert Into e Select

    Compartilhe
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 11:50

    Bom dia a todos, montei um Bd com o objetivo de puxar dados de uma coluna específica de uma tabela e inserir em outra tabela, porém há algo de errado com meu código, podem me ajudar?
    Segue Código:

    Private Sub Distribuir_Processos_Click()

    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM TbUsuarios WHERE ProfissionalID=" & Me.ProfissionalID & "")

    CurrentDb.Execute "INSERT INTO TbConsolidado(Profissional) VALUES('" & rs!ProfissionalID & "')"

    ...

    rs.Close
    Set rs = Nothing

    End Sub
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 12:30

    Vê se é isso:

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM TbUsuarios WHERE ProfissionalID=" & Me.ProfissionalID)

    CurrentDb.Execute "INSERT INTO TbConsolidado(Profissional) VALUES(" & rs!ProfissionalID & ")"
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 12:56

    Bom dia Claudio, Muito obrigado pelo breve retorno.
    Está apresentando o seguinte erro: Método ou membro de dados não encontrado.
    Segue abaixo o código utilizado e anexo print para melhor visualização, desde já agradeço.

    Código:
    Private Sub Distribuir_Processos_Click()

        Dim Profissional As String
        Dim ProfissionalID As String

          Set rs = CurrentDb.OpenRecordset("SELECT * FROM TbUsuarios WHERE ProfissionalID=" & Me.ProfissionalID)
          'Selecionar dados da coluna ProfissionalID da tabela TbUsuarios
         
          CurrentDb.Execute "INSERT INTO TbConsolidado(Profissional) VALUES(" & rs!ProfissionalID & ")"
          'Insere valores copiados na coluna Profissional da tabela TbConsolidado
         
    End Sub


    Última edição por gabrielpn06 em 17/1/2017, 13:12, editado 1 vez(es)
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 13:08

    Tenta Me!ProfissionalID no lugar de Me.ProfissionalID
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 13:21

    Agora me retornou o seguinte erro: O Microsoft Access não pode localizar o campo 'ProfissionalID' referido em sua expressão.
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 13:30

    Então o nome do campo não é exatamente "ProfissionalID", ou nem existe esse campo no formulário, já verificou?
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 13:41

    Sim, posso postar o Bd para o senhor dar uma olhada?
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 13:49

    Sim senhor, pode sim.
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 16:13

    Segue:
    Anexos
    ConstruçãoTestes - Copy.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (219 Kb) Baixado 7 vez(es)
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 17:16

    Realmente faltava o campo ProfissionalID, veja o arquivo em anexo.
    Anexos
    ConstruçãoTestes - Copy.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (219 Kb) Baixado 15 vez(es)
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 17:48

    Agradeço muito seu esforço mas a ideia não era essa, o objetivo é pegar os dados da coluna ProfissionalID da TbUsuarios e inserir na coluna Profissional da TbConsolidado de forma aleatória enquanto tiver linhas em branco, se puder me ajudar com isso agradeço.
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 17/1/2017, 19:14

    Posso tentar ajudar sim, mas preciso entender o que quis dizer com "de forma aleatória enquanto tiver linhas em branco".
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 23:00

    Então, TbConsolidado tem mais de uma coluna, sendo as mais importantes: |Processo|Profissional|
    O objetivo é: Pegar os nomes dos profissionais na TbUuarios (serão 7 profissionais listados nessa tabela (Exemplo:Maria,João,Pedro,Gabriel,José,Ana e Roberto)), e em seguida distribuí-los na coluna |Profissional| da TbConsolidado conforme a quantidade de processos presentes (que pode ser infinita).
    Resumindo, Distribuir os nomes de acordo com a quantidade de processos.
    Espero ter sido e agradeço imensamente a dedicação em me ajudar!
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 17/1/2017, 23:03

    Cliquei no botão "resolvido" por acidente
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 18/1/2017, 11:52

    Na tabela TbConsolidado só tem o campo Profissional, e na tabela TbUsuarios, somente ProfissionalID.

    Eu posso até criar o campo Processo na tabela TbConsolidado, mas onde buscar a quantidade de processos, para totalizar em TbConsolidado?

    Na verdade, TbConsolidado pode ser substituído por uma consulta, o que é recomendado.
    Para exemplificar, preciso de um arquivo melhor estruturado.
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 18/1/2017, 12:16

    Segue anexado o Bd com melhor estruturação para facilitar o entendimento do que desejo fazer.
    Preciso que os nomes dos Profissionais sejam distribuidos de acordo com a quantidade de processos presentes na tabela.
    (Ir na TbUsuarios, copiar os nomes dos profissionais e distribuí-los na TbConsolidado de acordo com q quantidade de processos presentes na mesma)
    Mais uma vez obrigado pela grande ajuda!
    Anexos
    Construção modelo mandar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (793 Kb) Baixado 6 vez(es)
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 18/1/2017, 13:05

    Acho que entendi melhor a finalidade da tabela TbConsolidado.

    O código abaixo considera que não haverá duplicidade de processos em TbConsolidado.
    Como na sua tabela de exemplo existe duplicidade, poderá acontecer de o mesmo processo ser distribuído para mais de um profissional.

    Código:
    Dim qtd_proc As Long
    Dim rs_Consolidado As Recordset
    Dim rs_Uusarios As Recordset
    Dim i

    qtd_proc = DCount("*", "TbConsolidado")
    qtd_proc = qtd_proc / DCount("*", "TbUsuarios")

    Set rs_Consolidado = CurrentDb.OpenRecordset("TbConsolidado")
    Set rs_Uusarios = CurrentDb.OpenRecordset("TbUsuarios")

    Do While Not rs_Uusarios.EOF
        For i = 1 To qtd_proc
            rs_Consolidado.Edit
            rs_Consolidado("Profissional") = rs_Uusarios("ProfissionalID")
            rs_Consolidado.Update
            rs_Consolidado.MoveNext
            If rs_Consolidado.EOF Then Exit For
        Next i
        rs_Uusarios.MoveNext
    Loop

    rs_Consolidado.Close
    rs_Uusarios.Close

    MsgBox "Pronto"
    avatar
    gabrielpn06
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 175
    Registrado : 17/01/2017

    Re: [Resolvido]Insert Into e Select

    Mensagem  gabrielpn06 em 18/1/2017, 13:16

    Perfeito meu amigo Cláudio! Muito obrigado pela paciência e pela dedicação!
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Insert Into e Select

    Mensagem  Cláudio Más em 18/1/2017, 13:35

    De nada.

      Data/hora atual: 16/8/2018, 16:33