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


3 participantes

    [Resolvido]Transpor Tabela em uma linha

    avatar
    bruno_rio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 29/07/2011

    [Resolvido]Transpor Tabela em uma linha Empty Transpor Tabela em uma linha

    Mensagem  bruno_rio 24/2/2012, 14:13

    Primeiramente, boa tarde a todos.

    Minha dúvida é a seguinte: Eu tenho uma tabela com a seguinte informação:
    Nome ID Freq
    94 1 537
    94 2 566
    94 3 603
    94 4 550
    95 5 529
    95 6 586
    95 7 555
    95 8 578
    96 9 525
    96 10 561
    96 11 548
    98 5 608
    98 6 598

    E gostaria de transformá-la assim:

    1 2 3 4 5 6 7 8 9 10 11 12
    94 537 566 603 550
    95 529 586 555 578
    96 525 561 548
    98 608 598

    Alguém saberia como me ajudar?
    Att,
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Transpor Tabela em uma linha Empty Re: [Resolvido]Transpor Tabela em uma linha

    Mensagem  criquio 24/2/2012, 15:01

    Notei que o número de colunas pode variar, não? Você já tem uma tabela pronta para receber a nova forma? Talvez seja o caso de se ter uma tabela para receber o primeiro número, aquele que repete, e outra relacionada para receber os demais.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transpor Tabela em uma linha Empty Re: [Resolvido]Transpor Tabela em uma linha

    Mensagem  Alexandre Neves 24/2/2012, 19:06

    Boa tarde, bruno

    Suponha que tem uma tabela denominada Tabela2 (para receber o resultado)
    dim Rst1 as dao.recordset, UltimoNome as Integer,Campo as integer
    set rst1=currentdb.openrecordset("SELECT Nome,Freq FROM SuaTabela ORDER BY Nome,ID;")
    currentdb.execute "DELETE * FROM Tabela2;"
    do while not rst1
    if rst1.absoluteposition=0 OR rst(0)<>ultimonome then
    currentdb.execute "INSERT INTO Tabela2(Nome) VALUES (" & RST1(0) & ");"
    CAMPO=1
    END IF
    CAMPO=CAMPO+1
    currentdb.execute "UPDATE Tabela2 SET " & CAMPO &"=" & RST1(1) & ");"
    rst1.movenext
    loop
    set rst1=nothing
    avatar
    bruno_rio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 29/07/2011

    [Resolvido]Transpor Tabela em uma linha Empty Re: [Resolvido]Transpor Tabela em uma linha

    Mensagem  bruno_rio 25/2/2012, 01:39

    Opa amigos, muito obrigado pela resposta. Usei a sugestão do criquio e criei uma tabela do jeito que eu queria e depois usei um loop para resolver. Como a tabela vai no máximo até 23, ficou fácil.

    Function transpor()
    Dim StrSql As String
    Dim i As Integer
    i = 1
    Do While i < 23
    DoCmd.SetWarnings False
    StrSql = "UPDATE Sera1 INNER JOIN Tabela2 ON Sera1.BTS = Tabela2.BTS SET Tabela2.TRX" & i & "= [sera1]![initialFrequency]" _
    & "WHERE (((Sera1.trxId)=" & i & "));"
    DoCmd.RunSQL StrSql
    i = i + 1
    Loop
    End Function

    Att,

    Conteúdo patrocinado


    [Resolvido]Transpor Tabela em uma linha Empty Re: [Resolvido]Transpor Tabela em uma linha

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 16:17