Pregunta: | 621 - FILTRAR INFORMACION PARA CRYSTAL REPORTS |
Autor: | Gerardo Portillo |
Ya tengo mi sistema completo, solo me hace falta la generación de reportes, quiero hacerlos con Crystal Reports pero no puedo filtrar la información del usuario que obtengo desde mis formularios. Ya los puedo generar desde el crystal reports pero cuando hago la llamada desde mi sistema me genera el mismo reporte que tengo creado, ya intenté con SQl pero tampoco me hace caso. Quisiera alguna ayuda para poder decirle al control CrystalReport1 que mis cajas de texto y mis dbcombos tienen las especificaciones del reporte a generar. Soy principiante con Crystal reports. Agradezco cualquier ayuda. De antemano Gracias. |
Respuesta: | Cristina Ripoll |
Hola,
Las respuestas anteriores son correctas, pero si al grabar el listado de Crystal le has dicho que guarde los datos con el informe, siempre te imprimirá el mismo listado... aunque intentes filtrar con la propiedad "Selectionformula" La solución es abrir el listado con el crystal reports e irte al menú: "Archivo" --> "Opciones del informe" y desmarcar la opción "Guardar datos con informe" Bueno, espero que te sirva. |
Respuesta: | Eric Del Valle |
Dim dFr As String ´ como seguramente lo vas a copiar y pegar ´ por eso estoy incluyendo los comentarios ya hechos con el apóstrofe ´ crNotas=Control de Crystal Report (CrystalReport1) ´ FechaDeHoy=Función creada por mi devuelve una cadena, ejem: 28 de marzo de 1968 crNotas.WindowTitle = "Notas de fecha: " & FechaDeHoy ´ título de la ventana crNotas.DiscardSavedData = True ´ no grabar datos ´ txtConsulta.Text = Contiene la información que el ´ usuario va a ir tecleando para armar la consulta interactiva ´ así no lo sometes a tus campos, sino a varios datos ´ dependiendo del campo que seleccionen y evaluando cada acción dFr = txtConsulta.Text ´ intente hacerlo con CDATE(txtConsulta.Text) ´ pero a la hora de pasarselo a crystal ´ cuando pones una fecha como 12/08/2000 ´ si pongo day(cdate(txtConsulta.Text)), me devuelve 8 ´ y no como lo maneja Crystal, que es 08 ´ por eso el rollo de abajo, right, left y mid mm/dd/aaaa txtSqlR = txtSqlR & "date(" & Right(dFr, 4) & "," & Left(dFr, 2) & "," & Mid(dFr, 4, 2) & ") " crNotas.SelectionFormula = Trim(txtSqlR) crNotas.PrintReport ´Para que entiendas un poquito más, de como quedaría la cadena txtSqlR ´ten mucho cuidado con los espacios. txtSqlR="{mitabla.nombre}=´ERIC´ AND {mitabla.ciudad}=´XALAPA´ OR {mitabla.fecha}=date(1968,03/28)" ´checa que en la fecha lleva el formato aaaa/mm/dd = 1968,03,28 |
Respuesta: | Rodrigo Treviño |
Hola: me imagino que para rellenar tus Textbox y DBGrid utilizas una consulta con parametros, si es asi, sobre una consulta igual pero sin parametros crea el reporte, al estar en cristal report te mostrara todos los registros, pero desde VB le suministras los parametros de seleccion algo asidim xref as stringcr.nref es el nombre del campo de cristal al que quieres que se aplique la seleccion nref.text es el campo en VB que contiene el valor que se utilizara para la seleccion Menu!crep es la ubicacion y el nombre del control de cristal report. |
Respuesta: | Javier Sepúlveda |
Hola para poder imprimir informes con el Crystal Report, pero solo informacion que tu necesitas, tienes que utilizar SelectionFormula. Para filtrar solo aquella informacion que necesitas imprimir.Informe1.SelectionFormula = "{CLIENTES.CODCLIENTE} = " & CHR$(39) & "999" & CHR$(39)Este ejemplo imprimiria un informe llamado Informe1 cuyo codigo de cliente sea igual a 999. |
Respuesta: | Enrique Canellada |
Hasta donde yo se, que es poco, si estas trabajando con el Activex de Crystal y un control data de VB5, no se te hara efectiva la migracion de informacion del data (con tu consulta SQL perfecta) si no tienes en tu sistema una serie de DLL´s, en concreto la PDBBND.DLL se encarga de comunicar el data con el crystalreports1 |