Listar todas las columnas como filas (invertir tabla)

Tengo la tabla Lista

Tiene los campos Lista Prod01 Prod02 Prod03 etc hasta 32 (cada Prod es el Valor de un tabla Productos)

Los registros por ejemplos son

Bebidas 105 107 110 así hasta completar los 32 campos

Comidas 201 202 205 etc hasta los 32 campos

Lo que quiero es que me las listes al revés

Osea

-----------------Bebidas (seria la columna)------------- Comidas

Filas

----------------------105 ----------------------------------------------201

----------------------107 ----------------------------------------------202

----------------------110----------------------------------------------205

Seria como invertir el orden del tabla las columnas pasen a filas y las filas a columnas

¿Es posible?

2 Respuestas

Respuesta
1

Eso tiene un nombre. Trasponer. Ahora me pillas fuera de casa y no me acuerdo donde se encuentra en la cinta de opciones pero si consultas la ayuda o en Google lo averiguas

Respuesta
1

Voy a intentar hacerlo lo más sencillo posible.

Si tengo una tabla Tabla1

Construyo la tabla 2 como

En un formulario cualquiera le añado un botón y un cuadro de texto llamado S(se podría utilizar variables, pero creo que se comprende mejor así.)

Cuando pulso el botón, me deja la tabla2 como

El código del botón es

Private Sub Comando271_Click()
Dim i As Integer, a As Integer, b As Integer
For i = 1 To 4
s = "prod" & Format("" & i & "", "00")
a = DLookup("" & s & "", "tabla1", "lista=""Bebidas""")
b = DLookup("" & s & "", "tabla1", "lista=""comidas""")
DoCmd.RunSQL "insert into tabla2(bebidas,comidas) values(" & a & "," & b & ")"
Next
End Sub

Donde yo pongo 4 tu puedes poner el número que quieras.

Lo que hace es que le asigna cada vez al cuadro de texto un valor Prod01, Prod02, .. y luego busca que valor tiene ese campo en la tabla 1 siendo lista=Comidas o lista=bebidas e inserta el valor en la tabla 2 en sus campos repectivos.

Es lo que necesito, pero hay un pequeño detalle, las categorías esas son variables

Y puede haber muchas

Pero solo elijo un, por lo que seria un nombre nada más

Por ejemplo el valor de una campo en la columna, bebidas por decir uno.

Como cambiaría el código

Otra vez que vuelves a preguntar algo y no tiene nada que ver con lo que quieres. Preguntabas si era posible poner "en vertical" una cosa. Y a eso te respondí.

¡Gracias!

Claro, perfecto es lo que necesito, pero una pequeña modificación era, ya esta resuelto igual.

Era bebidas camabiarlo por me.catBus y quedo espetacular.

Muchísimas gracias. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas