Datawindows crosstab

Estoy trabajando en un proyecto de registro de entradas y salidas de funcionarios en el cual tengo que hacer un informe de dichas entradas y salidas de todos los funcionarios en el mes. La tabla fichajes que es la que contiene los registros tiene los campos funcionario, fecha, hora, entrada_salida(char 1). Entonces queremos mostrar en una datawindows de tipo crosstab la fecha, el funcionario y sus respectivas entradas y salidas en el día de la fecha, el tema es que armamos la datawindows en crosstab definition de la siguiente manera: en rows la fecha y el funcionario, en columns entrada_salida, y en values la hora, pero solo nos muestra dos registros de entrada salida de los funcionarios. Si el funcionario tiene 4 entradas_salidas por día, solo muestra dos, esto se debe a que la crosstab interpreta una entrada y una salida y no todas. ¿Hay alguna manera de hacerlo por crosstab? ¿O de otra forma?

2 Respuestas

Respuesta
1
Bueno doc los crosstab se usan más para cuadros estadísticos por lo tal tienes que ingresar un campo que tenga valor para que el crosstab lo procese es por eso que te sale eso doc normalmente se ponen los campos como monto.. precio.. total.. etc etc.
Lo que te recomiendo es que lo hagas con un reporte normal y uses los case de sql doc seria mejor... si es salida entonces muestras salidas si es entrada entonces muestras entradas..
Eso seria todo doc..
Lo que se quiere mostrar en pantalla en este caso es, en una misma fila la fecha, el funcionario y sus respectivas entradas y salidas con la hora en el día de la fecha, pero ahí esta el tema, el funcionario en un día puede llegar a tener muchas entradas y salidas, osea lo quiero hacer dinámico. Entonces tomando tu idea de hacerlo con reporte normal, ¿cómo hago para generar columnas dinámicamente en tiempo de ejecución? Osea si el funcionario tiene una entrada o salida, inserto una nueva columna en la datawindows y así sucesivamente hasta que tome todas las entradas y salidas. Gracias por tu tiempo...
claro por eso  tedigo  que uses los case de sql,, los case te generan campos en ejecucion doc
 http://technet.microsoft.com/es-es/library/ms181765.aspx
Entra ahí doc te ayudara.
Respuesta
1
¿Lo puedes hacer en un informe tabular es preciso que sea en crosstab? Además, considero que si se puede realizar en el crosstab, el inconveniente debe ser que está configurado erróneamente.
No es preciso que sea en crosstab. Tengo una pregunta para ti, es la siguiente, como hago para insertar columnas en una datawindows ( ej: ¿Tabular o grid) en tiempo de ejecución? Desde ya gracias...
Saludos
Tendrías que crear la columna y agregarla al índice de columnas del datawindow. Considero que la resolución a tu inconveniente es mucho más sencilla. Documéntate bien en lo que deseas hacer y en el potencial de tu herramienta para que veas que llegarás a una solución sencilla, rápida y de fácil mantenimiento.
¿Me podrías pasar la sentencia para agregar una columna en tiempo de ejecución? Osea como hago para crear la columna y como hago para agregarla al indice de columnas del datawindows. Si podes pásame un ejemplo, como seria el código.
dw_control. Create. Así puedes modificar en tiempo de ejecución la estructura de un datawindow.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas