MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Converter tabelas com colunas vertical em horizontal

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 2:20 pm

    Grande Mestres, bom dia.

    Estou aqui novamente com mais uma pendência. No código da função abaixo, bem simples, não estou conseguindo ver de onde vem o erro: "Erro gerado: 3061 - Parâmetros insuficientes. Eram esperados 1". Acho que é na definição do rs1 TbNomeMes (tem dois campos: mes e nome). Por exemplo: faço NomeMes = "Janeiro" e enviou para função Call ProcessaMes(NomeMes). Quero gravar na tabela TbNomeMesHorizontal todos os "nome" daquele mês que vem da tabela TbNomeMes. Onde foi que eu errei?

    Código:
    Function ProcessaMes(NomeMes)
    On Error GoTo trata_erro
    MsgBox NomeMes
    Dim DB As Database
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Set DB = CurrentDb()
    Set rs1 = DB.OpenRecordset("SELECT * FROM [TbMesNome] WHERE Mes = NomeMes")
    Set rs2 = DB.OpenRecordset("SELECT * FROM [TbMesNomeHorizontal]")

    rs1.MoveFirst

    Do While Not rs1.EOF
      rs2.AddNew
      rs2![NomeMes] = rs1![Nome]
     
      rs2.Update
      rs2.Requery
    rs1.MoveNext
    Loop

    rs1.Close
    Set rs1 = Nothing
    rs2.Close
    Set rs2 = Nothing
    DB.Close
    Set DB = Nothing

        Exit Function

    trata_erro:
       
       MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
       
       Exit Function

    End Function


    Última edição por Finformática em Qua Jun 03, 2020 10:01 pm, editado 1 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Seg Maio 25, 2020 4:09 pm

    Tire a variável nomemes do entre aspas. Do contrário o VBA nunca a interprerá.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 4:36 pm

    Grande Damasceno,

    Desculpe a minha ignorância, onde está NomeMes entre aspas? Aspas após a variável é do Select.

    Abraços
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Seg Maio 25, 2020 6:52 pm

    Aqui está a variável contida entre aspas
    “... NomeMes”

    Tudo entre aspas é interpretado como um “bloco” inteiro. Nesse caso o VBA nao lê o valor da variável, mas sim o nome dela.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 7:11 pm

    Então como ficaria a linha do recordset com o Select? Tiro as aspas fica dando erro no select.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Seg Maio 25, 2020 7:36 pm

    Por que tiraste tudo? O único termo que precisa de interpretação é a variável. Afinal, ela é a única coisa que varia.
    "SELECT * FROM [TbMesNome] WHERE Mes = " & NomeMes


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 7:52 pm

    Caro Amigo,

    Desculpas por tanto incomodar. Continua dando mesmo erro. Linha abaixo.

    Set rs1 = DB.OpenRecordset("Select * From [TbMesNome] where Mes = " & NomeMes)

    O conteúdo de NomeMes eu vejo correto. Parece que não está reconhecendo Mes que é da TbMesNome. Ambas as variáveis são tipo texto.

    Abraços
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Seg Maio 25, 2020 8:01 pm

    Confere na tabela se tem campo com esse nome.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 8:12 pm

    TbMesNome:
    Mes texto
    Nome texto

    TbMesNomeHorizontal:
    Janeiro texto
    Fevereiro text
    .
    .
    .
    Dezembro texto

    Nomes dos campos são os nomes dos meses.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Seg Maio 25, 2020 8:21 pm

    Melhor postar seu arquivo. Assim evitamos adivinhações.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Alexandre Neves em Seg Maio 25, 2020 9:28 pm

    Boa noite
    Ou será Set rs1 = DB.OpenRecordset("Select * From [TbMesNome] where Mes='" & NomeMes &"'")


    .................................................................................
    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
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 9:42 pm

    Olá Damasceno,

    Segue anexo só a parte envolvida no problema.

    Muito Grato.
    Anexos
    [Resolvido]Converter tabelas com colunas vertical em horizontal AttachmentConverte Tabela ZIP.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (41 Kb) Baixado 5 vez(es)
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 9:55 pm

    Grande Alexandre,

    Fiz a alteração que você sugeriu e deu:
    Erro gerado: 3265 - Item não encontrado nesta coleção
    Erro gerado: 3021 - Nenhum registro atual

    Muito grato

    Abraços
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Seg Maio 25, 2020 10:15 pm

    Olá..

    Além da alteração solicitada pelo Alexandre Neves,
    Comente o 'rs1.MoveFirst

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 10:23 pm

    Grande Celso,

    Desculpas por minhas besteiras, sou um mero aprendiz. Isso faz parte das tentativas para ver se fica certo. Tirei a linha e continua dando: Erro gerado 3265 - Item não encontrado nesta coleção.

    Abraços
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 397
    Registrado : 25/02/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  FranklinJSP em Seg Maio 25, 2020 10:32 pm

    Olá

    É só remover o tratamento de erros de "processames".
    Em anexo...

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Seg Maio 25, 2020 10:35 pm

    Olá..

    Desculpe, seria assim

    Set rs1 = db.OpenRecordset("SELECT * FROM [TbMesNome] where Mes = "" & NomeMes & """)

    e Comente o 'rs1.MoveFirst

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 10:41 pm

    Mestre Franklin,

    Realmente tirando aquelas linhas não deu erro, porém não gravou a tabela desejada.

    Muito grato.

    Abraços.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 11:17 pm

    Caros Amigos,

    Tirei as linhas de tratamento de erro. Tirei rs1.MoveFirst. Troquei linha para sugestão de Alexandre. Troquei para linha sugerida por Celso. Não aparece erro, no entanto não grava nada. Não entra do Do While, ou tenta e o rs1 não carregou nada e sai por fim de arquivo.
    Enfim, não dá erro, também não faz nada.

    Abraços
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 397
    Registrado : 25/02/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  FranklinJSP em Seg Maio 25, 2020 11:36 pm

    Boa noite!

    Espero que seja o que você precisa.

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Maio 25, 2020 11:50 pm

    Grande Franklin,

    É quase isso. Só que queria pegar todos os meses de uma só vez sem precisar está informando qual. Também essa tabela criada é temporária. Desse modo toda vez que executo, apaga a tabela, cria novamente e só ficar um mês. Dela vai para outros processos. Esses são dados fictícios e não são somente esses campos. Funcionando para dois campos, deverá funcionar para muitos.

    Muito grato.

    Grande Abraço.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 397
    Registrado : 25/02/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  FranklinJSP em Seg Maio 25, 2020 11:56 pm

    Que bom!

    Conseguimos fazer alguma coisa, penso que será tentar mais código para o que precisa.
    Estamos aqui para continuar a nossa colaboração...

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  DamascenoJr. em Ter Maio 26, 2020 1:24 am

    lol!

    Bem observado, Alexandre. Havia esquecido das aspas.

    Finformática, evite usar campos com palavras reservadas. Campos chamados "Nome" e "Mes" podem atrapalhar seu projeto.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Ter Maio 26, 2020 10:59 am

    Grandes Mestres,

    O professor Franklin fez um outro código que, com certeza, com algumas adaptações, alguns reajustes, irão resolver o problema. Disso não tenho a menor dúvida. Desde já lhe sou muito grato, muito grato mesmo. No entanto queria ver como faria funcionar no modelo anterior. A critério de aprendizado, conhecimento. Uma coisa aparentemente tão simples que me deixou intrigado e gostaria de ver onde está o erro. São essas picuinhas (abre aspas, fecha aspas, aspas duplas, concatenação, etc.) que me apego para aprender um pouco mais e não ficar constantemente dependendo de vocês.
    Muito grato pelas observações de Damasceno, as sugestões de Celso e Alexandre. Muito obrigado mesmo.
    Seria possível fazermos o primeiro código funcionar para saber onde está o erro?

    Muito obrigado.

    Abraços
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Qua Maio 27, 2020 8:54 pm

    Olá Mestres,

    Alguém pode ajudar a concluir esse tópico conforme descrito mensagem anterior?
    Muito grato.

    Abraços
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Qua Maio 27, 2020 9:55 pm

    Olá...

    Veja se este tópico ajuda, em especial a mensagem 5

    https://www.maximoaccess.com/t24892-resolvidotrocar-colunas-por-linhas-sql-access#177836

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Qua Maio 27, 2020 10:31 pm

    Grande Celso,

    Muito grato pelo seu interesse nesse meu tópico. Vi o link e vou estudá-lo. Vou tentar fazer meu problema também desse modo. É questão de aprendizado. Na realidade, com ajuda de todos vocês, já consegui resolver o problema. Peguei aqui um código, fiz as devidas adaptações e fez o que desejo. No entanto continuo curioso com o código inicial de todos. Como já mencionei, quero aprender. Uma coisa aparentemente tão simples e não consigo ver o erro. Já recebi várias sugestões de vocês e ainda não funcionou. Tem como me dá mais essa aula?

    Muito grato,

    Abraços
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Qui Maio 28, 2020 1:53 am

    Olá...

    Dei uma modificada no código do Amigo FranklinJSP.
    Pode eliminar a combobox

    Código:
    Dim sMeses(1 To 12) As String
        Dim i As Integer
        Dim midb As Database
        Dim misql As String
        Dim Mes

        sMeses(1) = "Janeiro"
        sMeses(2) = "Fevereiro"
        sMeses(3) = "Março"
        sMeses(4) = "Abril"
        sMeses(5) = "Maio"
        sMeses(6) = "Junho"
        sMeses(7) = "Julho"
        sMeses(Cool = "Agosto"
        sMeses(9) = "Setembro"
        sMeses(10) = "Outubro"
        sMeses(11) = "Novembro"
        sMeses(12) = "Dezembro"

       
       
       
        Set midb = CurrentDb()
       
        'DoCmd.SetWarnings False
           
       
        For i = 1 To 12
            'MsgBox sMeses(i)
            Mes = sMeses(i)
           
                misql = "INSERT INTO TbMesNomeHorizontal (" & [Mes] & ") " & _
                "SELECT Nome " & _
                "FROM TbMesNome " & _
                "WHERE Mes='" & Mes & "' "

        midb.Execute misql
           
        Next

         
       
    '***************************************************************************
    Faça teste e veja que vai ficar faltando pouco para concluir

    Aguardamos

    Abraços e sucesso



    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Qui Maio 28, 2020 4:12 pm

    Caro Amigo,

    Conforme lhe falei, foi exatamente esse código que adaptei e consegui o resultado desejado. Mas minha curiosidade continua sendo aquele código bem simples que não conseguimos fazer funcionar lá no começo.
    Muito agradecido pela sua atenção. Continuo curioso pelo código.

    Abraços
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Alexandre Neves em Dom Maio 31, 2020 1:34 pm

    Boa tarde
    Depois de tantas voltas, não enxergo a bd que suporta a dúvida.
    Pode restabelecer a dúvida completa com a bd correspondente?


    .................................................................................
    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
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Jun 01, 2020 2:21 pm

    Grande Alexandre,

    Conforme solicitado segue anexo o BD mais original de todos, o que gerou o tópico. Recebi várias sugestões, fiz diversas adaptações neste código e até agora não funcionou. Inclusive você também sugeriu e continua dando erro. Quero ver onde está o erro para aprender. Isso é como um desafio. Já tentei tudo e não consigo em um código tão simples. Lembrando que, com ajuda de vocês e com outro código bem diferentes, com adaptações e tal faz o desejado. Mas meu problema é como faria para funcionar esse primeiro código.
    Espero que tenha entendido.

    Grande abraço
    Anexos
    [Resolvido]Converter tabelas com colunas vertical em horizontal AttachmentConverte Tabela ZIP.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (41 Kb) Baixado 7 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Alexandre Neves em Seg Jun 01, 2020 9:08 pm

    Boa noite, Finformática
    Pedi para restabelecer dúvida completa. Escreveu tanto e nada sobre o problema que queria resolver. Reconstruí a dúvida a partir do início e parece que descobri a sua pretensão

    Código:
    Function ProcessaMes(NomeMes)
        On Error GoTo trata_erro
        Dim rs1 As DAO.Recordset, rs2 As DAO.Recordset
     
        Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM [TbMesNome] where Mes='" & NomeMes & "'")
        Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM [TbMesNomeHorizontal]")
        Do While Not rs1.EOF
            rs2.AddNew
            rs2(NomeMes) = rs1![Nome]
            rs2.Update
            rs1.MoveNext
        Loop

        rs1.Close
        Set rs1 = Nothing
        rs2.Close
        Set rs2 = Nothing

        Exit Function

    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
    End Function


    .................................................................................
    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
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Seg Jun 01, 2020 10:07 pm

    Grande Mestre,

    O grande problema era a linha: Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM [TbMesNome] where Mes='" & NomeMes & "'") que dava erro 3021, depois outros código de erros e não funcionava. Você agora fez de um outro modo, bem parecido e funcionou. Ainda insisto onde é o erro dessa linha citada?
    Quase como eu queria. Só que queria que gravasse tudo de cada mês começando no primeiro registro da tabela horizontal.
    Ex.:
    Janeiro---Fevereiro--Março................................................Dezembro
    João------Manoel-----Antônio
    Paulinho-Cândido----Eliane
    José------Maria-------Tavares
    -----------Felipe-------Filomena
    ------------------------Caetano
    ------------------------Márcio
    ------------------------Ernesta

    Muito grato

    Abraços
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Ter Jun 02, 2020 2:29 am

    Olá..

    Para que todos os meses seja adicionado, comente o EXIT SUB desta parte deste código abaixo

    Código:
    Dim NomeMes As String
        'NomeMes = ""
        NomeMes = Me.Mes
           
            NomeMes = "Janeiro"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Fevereiro"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Março"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Abril"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Maio"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Junho"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Julho"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Agosto"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Setembro"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Outubro"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Novembro"
                Call ProcessaMes(NomeMes)
                'Exit Sub
            NomeMes = "Dezembro"
                Call ProcessaMes(NomeMes)
                'Exit Sub



    Espero que ajude

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Ter Jun 02, 2020 2:41 am

    Olá..

    Deixo outra possibilidade para quem buscar por uma consulta para realizar esta tarefa, segue a SQL abaixo:

    Ao Gerar a consulta Oculte o campo "Mes"

    Código:
    TRANSFORM First([Nome]) AS FirstNome
    SELECT Mes
    FROM (SELECT t1.Mes, t1.Nome, 'Mes' & Format(COUNT(*),"00") AS Meses FROM TbMesNome AS t1 INNER JOIN TbMesNome AS t2 ON (t1.Nome>=t2.Nome) AND (t1.Mes=t2.Mes) GROUP BY t1.Mes, t1.Nome) 
    GROUP BY Meses
    PIVOT Mes;

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Qua Jun 03, 2020 1:32 am

    Mestre Celso,

    Funcionou perfeitamente. Algumas adaptações e tudo certo. Agora uma dúvida, o que é:  [%$##@_Alias] . Sou um eterno aprendiz, não quero só ver feito, quero aprender a fazer.
    Muito grato por tudo. Decifra o campo solicitado anteriormente. Por favor.

    Grande Abraço
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Qua Jun 03, 2020 9:57 pm

    Olá meu amigo...

    Obrigado pelo "Mestre Celso" mas não sou não, sou um eterno aprendiz.
    Mas neste Fórum existem vários mestres e aprendo muito com as soluções apresentadas por eles nos tópicos que participam.



    Este "[%$##@_Alias]", é o nome que a SQL deu para a subconsulta por eu ter esquecido de Renomear.

    Podemos renomear usando o alias de tabela, veja abaixo que dei o nome de "qryHorizontal"

    Código:
    TRANSFORM First([Nome]) AS FirstNome
    SELECT Mes
    FROM (SELECT t1.Mes, t1.Nome, 'Mes' & Format(COUNT(*),"00") AS Meses FROM TbMesNome AS t1 INNER JOIN TbMesNome AS t2 ON (t1.Mes=t2.Mes) AND (t1.Nome>=t2.Nome) GROUP BY t1.Mes, t1.Nome)  AS qryHorizontal
    GROUP BY Meses
    PIVOT Mes;


    Será que não seria ideal alterar o titulo do tópico acrescentando "criar tabelas ou converter tabelas com colunas vertical em horizontal"?

    Acredito que facilitaria para usuários que busca uma solução identica ou semelhante.
    Fica a sugestão.

    Estando tudo ok, finalize o tópico.

    Abraços e sucesso




    Última edição por Celso Roberto em Qua Jun 03, 2020 10:16 pm, editado 1 vez(es)


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Finformática em Qua Jun 03, 2020 10:04 pm

    Mestre,

    Aceitando sua sugestão modifiquei o título do tópico. Realmente fica mais explícito para quem necessitar fazer o mesmo.
    Muito obrigado por tudo.

    Grande abraço, Grande Mestre.

    Resolvido

    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Converter tabelas com colunas vertical em horizontal Empty Re: [Resolvido]Converter tabelas com colunas vertical em horizontal

    Mensagem  Celso Roberto em Qua Jun 03, 2020 10:18 pm


    Ficamos felizes por ter ajudado.

    Obrigado pelo retorno

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: Ter Dez 01, 2020 10:58 am