Visual Basic - Trabajando con datos de Access

Life is soft - evento anual de software empresarial
 
Vista:

Trabajando con datos de Access

Publicado por Edgardo Mejía (8 intervenciones) el 26/09/2007 16:08:04
Hola, Saludos desde la Laguna Coahuila, México

antes que nada graxcias por tomarse el tiempo y leer mi nota.

Estoy haciendo una aplicación en VB 6 utilizando datos de Access y tengo un problema que no se como puedo resolver, eh de decir que soy nuevo al usar dichas herramientas, anteriormente solo habia utilizado Buillder y Java ya sea con Microsoft SQL Server 2000 en adelante y MySQL.

El detalle con VB 6 y Access es que tengo una tabla con varios campos en la cual, no todos los registros cuentan con datos en todos sus campos, por ejemplo:

Nombre Dias Horas Horas Extras
Edgardo Mejía 6 48 6
Joel Otoniel 6 48
Migule Zacarías 6 48 4

Como se pueden fijar en el ejemplo anterior, el segundo registro no cuenta con horas extras; cabe destacar que el ejemplo anterior es solamente un ejemplo, pues tal ves algunos de ustedes me digan que en el campo Horas Extras del segundo registro ingrese un cero y con eso me evito el problema.

Lo anterior no lo puedo hacer ya que tengo campos en los cuales puedo o no tener información deacuerdo al registro, y al momento que hago un a busqueda si me identifica el registro msimo que empiezo a mostrar en diferentes TextBox, pero al momento que se topa con que uno de los campos de dicho registro no tiene datos me marca un error, ya probe verificando antes de asignarlo al TextBox con valores como "Empty" o "Null" pero no me funciona, por ejemplo:

if rs.Fields("HorasExtras") = Empty Then
txtHE.Text = ""
else
txtHE.Text = rs.Fields("HorasExtras")
End If

pero no se que pasa y me marca un error # 94 diciendome que estoy haciendo mal uso del NULL, entonces en vez de poner "Empty" lo cambie por "Null" pero me marca el mismo error, si alguien me pudiera ayudar a resolver mi duda se lo agradeceria mucho,
Gracias!!!.

Atte: Edgardo
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:Trabajando con datos de Access

Publicado por Unomásnomás (77 intervenciones) el 30/09/2007 02:07:19
A veces los campos de access puedes indicar que cuando se guarde un valor no permita longitud 0 entonces lo que te sugiero para guardar un valor blanco a un campo usa :
TuRs.Fields("TuCampo") = " " 'Espacio en blanco
Ahora si tu campo a leer lo evaluas teniendo valor NULL con un criterio en vb te va a dar error y tienes que controlarlo.. Te sugiero que cuando lo hagas uses:
IF TuRst.Fields("TUCampo") & "" = TuCriterioAEvaluar Then
'Cuando usas '&' haces q si tu campo tiene NULL concatene con blanco y entonces queda blanco vs TuCriterioAEvaluar y ya no NULL vs TuCriterioAEvaluar..
Espero sirva
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:Trabajando con datos de Access

Publicado por Edgardo Mejía (8 intervenciones) el 01/10/2007 18:06:50
Hola, gracias por contestar mi nota, probaré tu codigo, aunque debo mencionarte que ya me funciono, te comento que tenia una validación en la cual me comparaba el valkor del campo non NULL o EMPTY y cuando le hice un watch/catch me percate de que mi codigo estaba bien escrito, pero no se por que demonios no me respetaba la validación, pues aun a sabiendas de que el campo era NULL se brincaba a la siguiente linea de instrucción, total para evitarme tantos problemas decidí que si el campo era NULL simplemente se fuera al final,del ciclo.

De cualquier forma muchas gracias!!!!

Atte: Edgardo Mejía
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:Trabajando con datos de Access

Publicado por SuperKuky (1 intervención) el 13/12/2007 09:29:01
Lo de concatenar un blancoooo.........

no me parece la mejor solución....

que tal si utilizas la función isNull(Expresion).
Te devuelve verdadero si el valor del campo es nulo. Lo puede poner directamente en el IF.

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:Trabajando con datos de Access

Publicado por FitoC (5 intervenciones) el 14/02/2009 15:57:29
Tengo el mismo problema....lo tuve cuando mi app trabajaba con una base en Access, y despues la cambie a MySQL 5.0 y no puedo manejarlo...podría poner para que ante un error vaya a un marcador y determine que si el Err.Number = '94' le asigne el valor 0 a la variable que toma el valor de la tabla que nos da 'Null'...pero el problema que en la rutina tengo mas de una variable que toman valores de la tabla y todos me pueden dar Null...estaría bueno saber como hacer para que VB determine cuando es nulo y no tener que manejarlo por medio del numero del error...eso es una chanchada.

Si alguien puede darme una mano con la respuesta o el lugar donde encontrarla...agradecido.
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