Visual Basic - Campos vacios en base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Campos vacios en base de datos

Publicado por david (111 intervenciones) el 21/09/2001 16:50:38
Hola a todos/as, tengo un problemilla...
Estoy leiendo de una base de datos echa en acces, donde hay bastantes campos vacios (es demasiado grande para ir a llenarlos uno a uno).
El codigo que utilizo al encontrar el campo vacio me da un error y finaliza la búsqueda, dejandome los siguientes campos a mostrar sin ejecutar. Hay alguna manera para controlar este error, de manera que si encuentra un campo vacio salte a la siguiente instrucción? Pongo el código utilizado para que podais tener alguna ayuda. Muchas gracias de antemano.

por ej. Si el campo pr_codpob esta vacio ya no me ejecuta la siguiente instrucción, debido a que tiene la propiedad null.

Consulta$ = "SELECT pr_codpre,pr_nompre, pr_codpob,pr_nompob FROM prescrip WHERE pr_codpre =" & Left(Combo1.Text, 8) & ""
Set StAccess = BdAccess.CreateSnapshot(Consulta$)
Do
Text7.Text = LTrim$(Str$(StAccess("pr_codpre")))
Text3.Text = LTrim$(StAccess("pr_nompre"))
Text8.Text = LTrim$(Str$(StAccess("pr_codpob")))
Text4.Text = LTrim$(StAccess("pr_nompob"))

StAccess.MoveNext

Loop Until StAccess.EOF
StAccess.Close
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:Campos vacios en base de datos

Publicado por EIV (5 intervenciones) el 21/09/2001 18:17:45
Los TextBox no pueden recibir valores Nulo, tendras que chequear cada campo antes de mandarle el valor, podrias usar lo sig:
text7.text = iif( isNull(StAccess("pr_codpre")),"", LTrim$(Str$(StAccess("pr_codpre"))) )

o bien crear una función Publica en algun modulo con la sig sintaxis

Public Function SiNull(MiVar as Variant, Valor as Variant) as Variant
if Isnull(MiVar) then
Sinull=Valor
Else
SiNull=MiVar
End if
End Sub

..Los tipos de datos son Variant para poder chequear otros tipo de datos
y asi la invocarias...
Text7.Text =Sinull( LTrim$(Str$(StAccess("pr_codpre"))) ,"")

Suerte
Enrique Vazquez
Buenos Aires Argentina
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