** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Consulta de referencias cruzadas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoConsulta de referencias cruzadas

 Responder Responder
Autor
Mensaje
anjemalo Ver desplegable
Habitual
Habitual


Unido: 31/Mayo/2019
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Tema: Consulta de referencias cruzadas
    Enviado: 31/Mayo/2019 a las 20:49
Hola:
Necesito hacer un informe y no encuentro la forma de hacerlo. Es el siguiente:
Tengo una consulta que contiene:

ejemplo:
usuario   fecha   Hora        estado
  1          1/5      9:00       Entrada
  1          1/5      10:05    Descanso
  1          1/5      10:30    Descanso
  1          1/5     14:30     Descanso
  1          1/5     15:30     Descanso
  1          1/5     18:00     Salida
...

Y necesito ponerlo en una sola linea agrupado por dia
ejemplo:

usuario  fecha  Entrada    Descanso  Descanso   Descanso  Descanso  Salida
    1       1/5      9:00         10:05       10:30       14:30       15:30      18:00
    2       1/5  ...
    3     ...


Me pueden ayudar por favor.
Muchas Gracias






Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje Enviado: 31/Mayo/2019 a las 21:13
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
anjemalo Ver desplegable
Habitual
Habitual


Unido: 31/Mayo/2019
Localización: España
Estado: Sin conexión
Puntos: 51
Enlace directo a este mensaje Enviado: 31/Mayo/2019 a las 21:27
En la informacion que me envias solo veo agrupaciones, sumas, cuentas, etc, no es este caso. No hay que sumar nada. solo mostrar los datos en forma de fila.

Muchas gracias por contestar tan rapido
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14926
Enlace directo a este mensaje Enviado: 01/Junio/2019 a las 10:27
Hola,

Punto 1. Dices "Y necesito ponerlo en una sola linea agrupado por día". Justamente eso (agrupar o encadenar) es lo que hace el ejemplo de Jesús.

Punto 2. Si sumas 1 solo valor, obtendrás el mismo valor.

Otra cosa sería que quisieras obtener tantas columnas como registros existieran con la misma combinación de usuario-día. Ahí la cosa ya se nos complica un poco y, ahora mismo, no se me ocurre una solución sencilla.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5990
Enlace directo a este mensaje Enviado: 01/Junio/2019 a las 12:29

Parece que lo que pretende es una nueva tabla, con los campos:  Usuario · fecha · y otros 6 campos, cuyos títulos son los datos (transpuestos) de  «Estado (origen)», y donde los datos de estos últimos son los datos (transpuestos) de «Hora (origen)».


Algo así:


Usuario Fecha Hora estado
1
01-may 9:00 Entrada
1
01-may 10:05 Descanso
1
01-may 10:30 Descanso
1
01-may 14:30 Descanso
1
01-may 15:30 Descanso
1
01-may 18:00 Salida
2 01-may 9:20 Entrada
2 01-may 10:30 Descanso
2 01-may 10:45 Descanso
2 01-may 12:30 Descanso
2 01-may 15:00 Descanso
2 01-may 18:00 Salida


Usuario Fecha Entrada Descanso Descanso Descanso Descanso Salida
1
01-may 9:00 10:05 10:30 14:30 15:30 18:00
2 01-may 9:20 10:30 10:45 12:30 15:00 18:00


Con VBA  (en Excel) no sería complejo, en Access... no lo sé.  Embarrassed



Saludos desde Tenerife.
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5704
Enlace directo a este mensaje Enviado: 01/Junio/2019 a las 16:19
Hola Angemalo

Como bien comenta Antonio, en Excel es mas simple, pero en access se puede realizar, yo lo haría así:
1.- Crear un Numero para contar por usuario los registros, verificar que la entrada sea siempre el 1 y la salida el 6 si no es así hay que obligarlo a que sea.
2.- Separar por numero las consultas y unirlas con UNION
Y listo lo has conseguido, un ejemplo parecido:

Saludos.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable