Autor Tema: Error 94 en tiempo de ejecucion - A veces si a veces no  (Leído 4339 veces)

0 Usuarios y 1 Visitante están viendo este tema.

zxs23

  • Megabyte
  • ***
  • Mensajes: 146
  • Reputación: +5/-2
    • Ver Perfil
Error 94 en tiempo de ejecucion - A veces si a veces no
« en: Diciembre 01, 2012, 09:17:07 pm »
La verdad no entiendo el porque, antes todo funciona bien y ahora me sale este error. Mi base de datos es un Archivo .mdb 2003 abierto con access2007(quizas tenga algo que ver aunque no creo.)
Código: (VB) [Seleccionar]
Dim rs As Recordset
Set rs = Conex.Execute("SELECT codprov,nomprov,telefono FROM proveedor WHERE codprov='" & txtCodigo & "'")
Text1(0) = rs("nomprov")
Text1(1) = rs("telefono")

El error aparece cuando el campo telefono esta vacio, pero lo raro es que cuando agrego algo en dicho campo logicamente el error desaparece pero... si luego lo dejo vacio nuevamente ya no me da error a pesar de que dicho campo TELEFONO esta vacio.

Que esta sucediendo por que la verdad ya no entiendo nada perdi un par de horas para darme cuenta de esto :-[ y lo unico que quiero saber es PORQUE?

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #1 en: Diciembre 01, 2012, 09:50:54 pm »
Checa el tipo de dato, quiza por vacio está como Null, lo que no es lo mismo que pongas algo y luego borres

Si fuese asi tendrias que modificar tu codigo a esto:


Código: (VB) [Seleccionar]
Text1(0) = IIF(IsNull(rs("nomprov")), "", rs("nomprov"))
Text1(1) = IIF(IsNull(rs("telefono")), "", rs("telefono"))

En lo personal me gusta mas rs!telefono que rs("telefono") pero eso ya es cuestión de gustos. No conozco un sustento tecnico sobre cual es mejor.
« última modificación: Diciembre 01, 2012, 09:52:55 pm por YAcosta »
Me encuentras en YAcosta.com

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #2 en: Diciembre 01, 2012, 10:05:42 pm »
mucha escritura de codigo, esque eso ocurre cuando lo que intentas jalar de la BD es null

YO LO HAGO DE ESTA FORMA

Text1(0) = rs("nomprov") & ""
Text1(1) = rs("telefono") & ""
 
EL NULL LO CONCATENAS CON UNA CADENA
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

zxs23

  • Megabyte
  • ***
  • Mensajes: 146
  • Reputación: +5/-2
    • Ver Perfil
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #3 en: Diciembre 01, 2012, 10:10:12 pm »
El tipo de dato es texto-255 y esta en requerido=NO osea que dependiendo del usuario puede estar vacio o no. Exacto cuando esta vacio me salta el error. Bueno karlytos creo que diste con la solucion. Yvan acabo de conocer el IIF(solo conocia el if normal) gracias

La cuestion es EL PORQUE si agrego algo y luego lo borro(Desde el mismo access) el error ya no salta, esto me intriga! :o :o osea si le paso el cuy desde access el vb6 se olvida del error?
« última modificación: Diciembre 01, 2012, 10:12:45 pm por zxs23 »

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #4 en: Diciembre 01, 2012, 10:15:29 pm »
eso pasa igual en .net si mal no recuerdo, cuando esta vacio el campo de la tabla el vb lo toma como null
tambien en sql podrias usar esto

select isnull(nombre_campo,"q quieres q muestre") from tabla

o tambien como dijo yvan o lo que yo comente


"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #5 en: Diciembre 01, 2012, 10:19:17 pm »
ponle un valor como default ps
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

zxs23

  • Megabyte
  • ***
  • Mensajes: 146
  • Reputación: +5/-2
    • Ver Perfil
Re:Error 94 en tiempo de ejecucion - A veces si a veces no
« Respuesta #6 en: Diciembre 02, 2012, 02:29:53 am »
Por ahora esta todo bien, gracias por el soporte, saludos