Foros del Web » Programación para mayores de 30 ;) » .NET »

VB y Crystal Reports

Estas en el tema de VB y Crystal Reports en el foro de .NET en Foros del Web. Buenas: Tengo que generar unos informes a partir de datos de las siguientes tablas: TProfesores: CodProf, Nombre, 1Apellido, 2Apellido, CodCargo. TCargos: CodCargo, Descripcion. TAusencias: CodAusencia, ...
  #1 (permalink)  
Antiguo 08/09/2009, 08:16
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
VB y Crystal Reports

Buenas:

Tengo que generar unos informes a partir de datos de las siguientes tablas:

TProfesores: CodProf, Nombre, 1Apellido, 2Apellido, CodCargo.
TCargos: CodCargo, Descripcion.
TAusencias: CodAusencia, Descripcion.
TFatlas: CodFalta, Descripcion.
TRelaciones: CodProf, CodAusencia, CodFalta, FechaIncio, FechaFin, NumHoras.

Mi duda es que necesito que se genere una única fila por cada codigo de profesor de la tabla TRelaciones.

De manera que si ese profesor tiene varias faltas aparezca una única fila con la suma del numero de horas que ha faltado ese profesor.

Ej:

Codigo Nombre Apellidos Numero de horas
-------------------------------------------------------------------
1 Xabier Toquero 32
2 Ion Ramos 20

El problema es que en el informe me sale un registro con cada una de las faltas acumuladas en la tabla relaciones donde se le asigna el profesor, el tipo de falta, y el numero de horas que falto...


Ej:
1 Xabier Toquero 16
1 Xabier Toquero 16

Espero que podais ayudarme, muchas gracias de antemano a todos!
Un saludo!
  #2 (permalink)  
Antiguo 08/09/2009, 08:31
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Respuesta: VB y Crystal Reports

Hola tokero.
Si los Datos están bien cargados en las tablas, y tu duda viene más bien por obtener esa consulta que te devuelva la información que comentas, sería una cuestión de SQL.
La consultas que necesitas puede ser algo como esto:
Código SQL:
Ver original
  1. SELECT P.CodProf AS [Codigo],
  2. P.Nombre AS [Nombre],
  3. P.1Apellido + ' ' + P.2Apellido AS [Apellidos],
  4. SUM(R.NumHoras) AS [Numero de Horas]
  5. FROM TProfesores AS P
  6. INNER JOIN TRelaciones AS R ON P.CodProf=R.CodProf
  7. GROUP BY Codigo, Nombre, Apellidos
Si se trata de algo distinto ya nos comentas.
Saludos!
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 08/09/2009, 08:41
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: VB y Crystal Reports

Ok. Muchisimas gracias!

La consulta mas o menos la tenía clara, aunque con tu ayuda va mejor...

Ahora es mas cuestión de como hacerlo a través de VB y Crystal Reports porque es una herramienta de VB que no controlo mucho.

Veo que da bastantes posibilidades en cuanto a formulas etc.
Pero la verdad es que me cuesta un poco entender como configurar dichas formulas...
O si puedo pasar de ellas y realizar mis propios filtos!

Gracias de nuevo por vuestra ayuda!
  #4 (permalink)  
Antiguo 08/09/2009, 08:43
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Respuesta: VB y Crystal Reports

Tus dudas sobre Crystal Reports, si se trata de Windows Forms, también puedes realizarlas en este Foro de WinForms.
Suerte!
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 08/09/2009, 08:47
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
De acuerdo Respuesta: VB y Crystal Reports

Cita:
Iniciado por moNTeZIon Ver Mensaje
Tus dudas sobre Crystal Reports, si se trata de Windows Forms, también puedes realizarlas en este Foro de WinForms.
Suerte!
Lo son!! estoy trabajando en una aplicación para windows con formularios!
Necesito saber como pasar parametros al informe de Crystal, es por el tema de fechas y asi... pero bueno...
Aver si hay suerte y me dan la clave o la forma de ir avanzando.
  #6 (permalink)  
Antiguo 08/09/2009, 09:10
Avatar de txG3  
Fecha de Ingreso: septiembre-2009
Ubicación: Aragón - Torrero
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: VB y Crystal Reports

hola, tokero.

prueba asi:
Dim data As DataTable
Dim dawe As DataView

data = CType(datagridview.DataSource, DataTable)
dawe = data.DefaultView

Dim rptDoc As New rptInforme
rptDoc.SetDataSource(dawe)
rptDoc.SetParameterValue("Nombre", variableconnombre)
rptDoc.SetParameterValue("nif", variableconelnif)
Dim form As New frmInforme
form.CrystalReportViewer1.ReportSource = rptInforme
form.ShowDialog()
form.Dispose()
form = Nothing
ojala te sirva,
salud
  #7 (permalink)  
Antiguo 08/09/2009, 12:04
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: VB y Crystal Reports

Muchisimas gracias... no sabia como pasar parametros a un Informe de Crystal.
Ahora el problema que tengo es como hace uso de los parametros pasados dentro del informe.

He pasado dos parametros de tipo numerico:

Mes y Anio

Gracias de nuevo me estais ayudando mucho!!
Un saludo!
  #8 (permalink)  
Antiguo 09/09/2009, 01:20
Avatar de txG3  
Fecha de Ingreso: septiembre-2009
Ubicación: Aragón - Torrero
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: VB y Crystal Reports

Con el asistente del CR, crea los parámetros e insértalos como cualquier otro campo.
Salud.
  #9 (permalink)  
Antiguo 09/09/2009, 02:53
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: VB y Crystal Reports

Ok ya los tengo en mi informe... ahora tengo que montarmelo para conseguir que los datos que llegen a el reporte sean los que necesito.

Me imagino que realizando la consulta sobre el dataset y pasando solo las filas buscadas puedo conseguirlo.

La busqueda la realizo de la siguiente manera...

Código:
Dim busquedafilas As DataRowCollection = DS_Listados.TRelacion.Rows
Dim busqueda() As DataRow = Nothing
Dim sentencia As String = " ..... "
busqueda = DS_Listados.TRelacion.Select(sentencia)
Lectivas.SetDataSource(busqueda)
La sentencia todavia no la tengo preparada porque necesito filtrar por varios campos y me esta costando un poco...

Tengo que filtrar por Mes, y por tipo de falta....
Por tipo de falta lo tengo claro:

Código:
SELECT CodFalta FROM TFaltas WHERE Descripcion LIKE "Lectiva"
El problema me viene con las fechas...

Tengo que filtrar por mes... Tengo fecha inicio y fecha fin de la falta.
Los dos en formato --/--/--.

Estoy tan saturado que me cuesta pensar el doble y tener todos los factores en cuenta...

Gracias de nuevo y un saludo!
  #10 (permalink)  
Antiguo 09/09/2009, 03:18
Avatar de txG3  
Fecha de Ingreso: septiembre-2009
Ubicación: Aragón - Torrero
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Respuesta: VB y Crystal Reports

Que tipo de datos utilizas para almacenar las fechas?

Un consejo: utiliza el operador = en vez de LIKE si puedes. Es mucho mas rápido.

Salud
  #11 (permalink)  
Antiguo 09/09/2009, 03:27
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: VB y Crystal Reports

Utilizo datos de tipo fecha (fecha corta) con el siguiente formato: --/--/--

Y lo que recibiría el Informe, o el dato que usaría en la sentencia SQL es de tipo numérico.

El usuario seleccionaria un mes (en texto) desde el ComboBox y el dato que devuelve sería el numero del mes!

No se si es muy correcto o habria otra forma de hacerlo para que devolviera un dato de tipo fecha...

Gracias de nuevo!
  #12 (permalink)  
Antiguo 10/09/2009, 02:36
Avatar de txG3  
Fecha de Ingreso: septiembre-2009
Ubicación: Aragón - Torrero
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: VB y Crystal Reports

hola, tokero
sería algo asi:
"SELECT CodFalta FROM TFaltas WHERE mes =" & combobox1.selecteditem
prueba asi
salud

Última edición por txG3; 10/09/2009 a las 02:52 Razón: se me habían pasado las comillas
  #13 (permalink)  
Antiguo 10/09/2009, 04:45
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: VB y Crystal Reports

Gracias por vuestra ayuda! hasta aqui ya he resuelto mis dudas de como pasar parametros y de que consulta he de realizar para cargar lo que me interesa!

Voy a abrir un nuevo tema con una nueva pregunta que trata sobre como cargar los datos antes de pasarselos al Crystal Reports! Porque es aqui donde estoy fallando!!
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 07:46.