Visual Basic - Problemas en comando Obj.Print con null

Life is soft - evento anual de software empresarial
 
Vista:

Problemas en comando Obj.Print con null

Publicado por Miguel (3 intervenciones) el 05/07/2005 01:31:23
De nuevo yo amigo !!
Doy las gracias a correosamuel.... y sunco007... la respuesta de sunco no me sirve por que son varios campos que leo y no uno solo... respecto a la respuesta de samuel... parece me puede servir pero no logre aplicarla de la mejor manera....de todas manera aqui les mando el codigo donde tengo problemas...

Function imprime_formulario1(obj As Object)
Set record = base.OpenRecordset("select * from clientes")
If record.RecordCount <> 0 Then
Set obj.Font = fuente1
obj.Print " LISTADO GENERAL DE CLIENTES "
obj.Print
Set obj.Font = fuente2
obj.Print " Rut Nombre Dirección Ciudad Teléfono Fax Contacto E-Mail de Contacto"
obj.Print "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
Do While Not record.EOF
-----> EN ESTA PARTE ES DONDE SE ME PRODUCE EL ERROR
obj.Print " " + record!rut_cliente + " " + cuadrar(record!empresa, 30) + " " + cuadrar(record!Direccion, 35) + " " + cuadrar(record!ciudad, 15) + " " + cuadrar(record!telefono, 10) + " " + cuadrar(record!fax, 10) + " " + cuadrar(record!Contacto, 25) + " " + cuadrar(record!mail, 25) + ""
record.MoveNext
Loop
End If
Printer.EndDoc
End Function

Se cae cuando al leer en la tabla no encuantra valor el campo telefono o fax....
Ojala me puedan ayudar.....
Gracias !!!
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
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Problemas en comando Obj.Print con null

Publicado por SuNcO (599 intervenciones) el 05/07/2005 01:56:53
Intenta con la instruccion IIF que revisa la condicion y regresa un valor dependiendo si se cumple o no la condicion

obj.Print " " + iif(record!rut_cliente=""," ",record!rut_cliente) .. y asi con los demas

En este caso si es NULL osea en blanco, entonces regresa " " un espacio en blanco, si no entonces si regresa el dato

En teoria debe funcionar
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
Imágen de perfil de Julio Meza

RE:Problemas en comando Obj.Print con null

Publicado por Julio Meza (9 intervenciones) el 05/07/2005 16:50:47
CUIDADO !!!

Un valor null nunca va a ser igual a " ", prueba mejor formar una cadena, asi:

Dim vl_Print As String

If turecordset!valor1 = " " Or IsNull(turecordset!valor1) Then
vl_Print = Space(n) ' n = lo que mida el tamaño de tu columna 1
else
vl_print = turecordset!recordset!valor1
end If

If turecordset!valor2 = " " Or IsNull(turecordset!valor2) Then
vl_Print = vl_print + Space(n) ' n = lo que mida el tamaño de tu columna 2
else
vl_print = vl_Print + turecordset!recordset!valor2
end If

Asi sucesivamente ... hasta que hallas colocado todas tus columnas

Luego simplemente:

Obj.Print vl_Print

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