Visual Basic.NET - informe Crystal Report vacío

 
Vista:

informe Crystal Report vacío

Publicado por Shania (16 intervenciones) el 06/09/2004 16:01:41
Hola a todos!
Tengo un problema al visualizar un reporte de un determinado cliente, es decir, yo le paso al Crystal el código del cliente del que tiene que generar un informe, pero cuando lo genera, el informe sale vacío.
El código que uso es:
'Creo el reporte
Dim Informe As New CRClientes
'Asocio el conjunto de datos con el reporte
Informe.SetDataSource(Me.DsClientes)
Dim codigo As Integer
codigo = Me.txtCodigo.Text
Informe.DataDefinition.RecordSelectionFormula = "{clientes.codcliente} '" & codigo & "'"
Me.CrystalReportViewer.ReportSource = Informe

El código tiene bien su valor pero el informe sale vacío y no me da ningún error. ¿alguna idea?

Gracias.

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:informe Crystal Report vacío

Publicado por Edgar (1501 intervenciones) el 06/09/2004 16:17:33
Hola

Deberias colocar el simbolo igual ("=") en el recordselecionformula

Informe.DataDefinition.RecordSelectionFormula = "{clientes.codcliente} = '" & codigo & "'"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por shania (16 intervenciones) el 06/09/2004 16:42:01
Hola Edgar!

Lo tengo bien puesto el igual, debió de ser que al copiarlo aquí borré algo sin darme cuenta.

Se te ocurre algo más?

Gracias.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Alfredo (62 intervenciones) el 06/09/2004 17:38:05
hola,

mira si el codigo en la base de datos tiene espacios en blanco, yo tenia un problema parecido, cuando mostraba el codigo:
mi codigo: 1234 y en la base de datos estaban almacenados: 1234 y un espacion en blanco al final.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por shania (16 intervenciones) el 06/09/2004 17:52:30
Hola Alfredo!
Tienes razón, la variable código me coge el código 1234 y en la base de datos está 1234 y un espacio en blanco. Pero no he conseguido solucionarlo, he cambiado el código por éste:

Informe.DataDefinition.RecordSelectionFormula = "{clientes.codcliente} = '" & Me.txtCodigo.Text & "'"

así me coge los espacios pero el informe sigue saliendo vacío. ¿cómo lo solucionaste tú?

Gracias

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Edgar (1501 intervenciones) el 06/09/2004 18:07:05
Hola

Para quitar el espacio en blanco haces esto

Informe.DataDefinition.RecordSelectionFormula = "{clientes.codcliente} = '" & Me.txtCodigo.Text.Trim() & "'"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Shania (16 intervenciones) el 06/09/2004 18:13:02
Hola Edgar!
Gracias por tu ayuda. Ya conozco la función trim:
Trim(Me.txtCodigo.text)
El problema es que no puedo quitar los espacios en blanco de la tabla, yo los quito guardo los cambios y me vuelven a aparecer (es que el codigo es un char de 5 caracteres y si por ejemplo el código es 105, lo rellena con 2 espacios en blanco detrás).
¿alguna ídea?
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Alfredo (62 intervenciones) el 06/09/2004 18:36:09
hola,
yo cambie el campo de la tabla de char a varchar y listo, pero si tu no lo puedes cambiar intenta esto:

Dim aux, i As Int16
Dim aux1 As String
aux = Len(TextBox1.Text.Trim)
aux1 = TextBox1.Text
For i = aux + 1 To 5
aux1 = aux1 & " "
Next
y la variable codigo dejala como un string,
suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por shania (16 intervenciones) el 06/09/2004 18:47:03
Hola Alfredo!
Lo he probado y nada, de todos modos no entiendo el motivo de ése código, si aux es el código sin espacios en blanco y aux1 el código con los espacios, como es que asignas dentro del for a aux1 más espacios?
¿cuál es la finalidad? de ese modo obtengo el código con el doble de espacios en blanco, es decir si el código es 105bb (las b son los espacios en blanco) al finalizar el for, el contenido de aux1 es 105bbbb
¿?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Alfredo (62 intervenciones) el 06/09/2004 18:53:57
hola,
tienes razon.
no lo habia probado, lo que te digo es que a la cadena que te digitan le aumentes los espacios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:informe Crystal Report vacío

Publicado por Shania (16 intervenciones) el 07/09/2004 08:18:51
Hola Alfredo!
He cambiado la variable codigo que era integer por string y así m e coge bien los espacios pero nada el informe sale vacío. :-(
En fin, voy a seguir probando cosas. Si se te ocurre algo que me pueda ayudar te lo agradecería.
Un saludo y gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solución

Publicado por Shania (16 intervenciones) el 07/09/2004 16:28:22
Hola!

Después de dar un montón de vueltas con el código, decidí cambiar el modo en el que hacía la llamada al informe y funcionó. Lo que he hecho ha sido crear una select con la condición codCliente = filtro donde filtro es el código del cliente que quiero visualizar y de esta manera guardar los resultados en el dataset y luego solo he tenido que hacer la llamada al informe sin necesidad de pasarle ninguna fórmula.

Un saludo y gracias a todos por vuestra ayuda.
shania

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar