Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Cambiar Columnas a Filas

Estas en el tema de Cambiar Columnas a Filas en el foro de Bases de Datos General en Foros del Web. Buenas a todos, quisiera saber como puedo cambiar Columnas a filas, tengo en un fichero: d=comercial m=cliente p=producto d1 m1 p1 p2 p3 d2 m1 ...
  #1 (permalink)  
Antiguo 06/10/2008, 06:32
 
Fecha de Ingreso: octubre-2008
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación Cambiar Columnas a Filas

Buenas a todos,

quisiera saber como puedo cambiar Columnas a filas,

tengo en un fichero:
d=comercial
m=cliente
p=producto

d1 m1 p1 p2 p3
d2 m1 p1 p3
d2 m2 p1 p2 p3

tengo eso y quiero trasformarlo a:
d1 m1 p1
d1 m1 p2
d1 m1 p3
d2 m1 p1
d2 m1 p3
d2 m2 p1
d2 m2 p2
d2 m2 p3

eso con unos 40.000 registros del primer tipo xD y unas cuantas columnas más por registro, por lo que necesito un método genérico para hacerlo...

Tengo que hacerlo sobre access, pero si me decis como puedo hacerlo con SQL sin más, ya busco como adaptarlo

Gracias anticipadas
  #2 (permalink)  
Antiguo 22/10/2008, 01:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cambiar Columnas a Filas

Sigo teniendo el problema :(, agradeceria mucho que alguien pudiera decirme como puede hacerse...
Gracias.
  #3 (permalink)  
Antiguo 22/10/2008, 02:05
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: Cambiar Columnas a Filas

Se me ocurre recorrer la tabla con un recordset, e ir insertando los registros en otra tabla con esa estructura, pero antes de hacerlo, lo primero, que dices que es un fichero, es una tabla?? Tiene estos campos??
Comercial, Cliente, Producto1, Producto2, Producto3

Y lo quieres llevar a otra con estos campos:
Comercial, Cliente, Producto

Mas o menos??

un saludo
  #4 (permalink)  
Antiguo 22/10/2008, 03:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
Información Respuesta: Cambiar Columnas a Filas

Es una tabla en Access que tiene esa estructura y he de pasarla a la otra estructura en otra tabla de Access

y si, esa sería más o menos la estructura, de origen tengo por ejemplo

Comercial1, Cliente1, Producto1, Producto2, Producto3
Comercial1, Cliente2, Producto1, Producto2, Producto3
Comercial2, Cliente1, Producto1, Producto2,
Comercial2, Cliente3, Producto1, Producto2, Producto3

y debo conseguir más o menos:

Comercial1, Cliente1, Producto1
Comercial1, Cliente1, Producto2
Comercial1, Cliente1, Producto3
Comercial1, Cliente2, Producto1
Comercial1, Cliente2, Producto2
Comercial1, Cliente2, Producto3
Comercial2, Cliente1, Producto1
Comercial2, Cliente1, Producto2
Comercial2, Cliente3, Producto1
Comercial2, Cliente3, Producto2
Comercial2, Cliente3, Producto3

Gracias.
  #5 (permalink)  
Antiguo 22/10/2008, 03:32
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: Cambiar Columnas a Filas

Prueba algo similar a esto:

Dim rstRecorrer As DAO.Recordset
Dim rstInsertar As DAO.Recordset

Set rstRecorrer = CurrentDb.OpenRecordset("Select * from Tabla")
Set rstInsertar = CurrentDb.OpenRecordset("Select * from TablaNueva")

While Not rstRecorrer.EOF
For i = 1 To 3
rstInsertar.AddNew
rstInsertar!Comercial = rstRecorrer!Comercial
rstInsertar!Cliente = rstRecorrer!Cliente
rstInsertar!Producto = rstRecorrer("Producto" & i)
rstInsertar.Update
Next
rstRecorrer.MoveNext
Wend

rstRecorrer.Close
rstInsertar.Close
Set rstInsertar = Nothing
Set rstRecorrer = Nothing

Tendras que activar la referencia a Microsoft Dao x.xx object library

Un saludo
  #6 (permalink)  
Antiguo 23/10/2008, 03:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cambiar Columnas a Filas

Gracias por tus respuestas Taribo007, pero... esto que me pones... lo tendría que poner en un formulario o donde meto todo eso?

(en principio yo solo tengo las tablas, sin formularios ni nada, solo algunas consultas)

Un saludo.
  #7 (permalink)  
Antiguo 23/10/2008, 04:48
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: Cambiar Columnas a Filas

Create un formulario, ponle un boton, y en su evento click, mete el codigo, adapatandolo a los nombres de los campos de tus tabla. Ejecuta el form, y pulsa le boton.

Y como no estas del todo seguro, haz una copia antes de hacer todo esto

un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:07.