
[RESUELTO] Error al ejecutar formulario
#1
Escrito 23 julio 2010 - 10:56
Estoy trabajando con delphi 7 y Access 2003 con conexion ADO. Anteriormente estaba trabajando con conexion ODBC y la cambie a ADO, pero resulta que ahor al tratar de abrir el formulario de Facturación me está dando el siguiente error:
Project Sistema.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process stopped. Use Step or Run to continue.
En este formulario tengo 2 ClientDataSet y varios AdoQuery.
Cuando tenia la conexion ODBC no me estaba dando este problema pero ahora que la cambie a Ado si, alguna solución con respecto a esto?
Gracias de antemano.
Saludos
Judit
#2
Escrito 23 julio 2010 - 11:04
Utiliza el depurador de Delphi, y ejecuta la carga del formulario, línea a línea, para detectar la sentencia que ocasiona el fallo.
Una vez detectada la sentencia, en función de lo que intente hacer y sabiendo el fallo que da, se corrige.
#3
Escrito 23 julio 2010 - 11:21
El error consiste en que un valor de un campo esta llegando Nulo desde la BD (osea se esta guardando Nulo en la BD que es distinto de vacío) y en Delphi estas tratando de realizar algún tipo de conversión, ya sea:
1.- StrToXXX.
2.- TablaCampo.AsString.
3.- Tabla.Fields[0].AsString.
4.- Tabla.FieldByName('campo').AsString.
Revisa y postea

#4
Escrito 23 julio 2010 - 02:20
Saludos.
El error consiste en que un valor de un campo esta llegando Nulo desde la BD (osea se esta guardando Nulo en la BD que es distinto de vacío) y en Delphi estas tratando de realizar algún tipo de conversión, ya sea:
1.- StrToXXX.
2.- TablaCampo.AsString.
3.- Tabla.Fields[0].AsString.
4.- Tabla.FieldByName('campo').AsString.
Revisa y postea
Pues esto mismo digo yo

#5
Escrito 23 julio 2010 - 06:53
Les cuento que resolvi el problema que me estaba dando, parece que al momento de asignar unas tablas a los data set era lo que me causaba el problema. Elimine esas lineas de codigo donde le asignaba las tablas a los dataset y problema resuelto, no me siguio dando el problema.
También cambie el provider de la conexion de Ado de MSDASQL.1 a Microsoft.Jet.OLEDB.4.0, pero al hacer esto me dió error en la conexión por tanto cambié el string a esto:
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=password;Data Source=C:\Sistema\Datos\SistemaPC.mdb;Persist Security Info=False
Lo que está en negrita fue el cambio de como estaba originalmente.
Gracias a todos por la ayuda
#6
Escrito 23 julio 2010 - 06:59
Pero no entiendo:
Resolviste el problema inicial y ahora tienes otro o solo lo comentas?.
Saludos
#7
Escrito 23 julio 2010 - 07:01
Hola
Pero no entiendo:
Resolviste el problema inicial y ahora tienes otro o solo lo comentas?.
Saludos
Resolvi el problema incial, y no tengo error ahora mismo, publiqué eso por que cambiando el provider me dió unos errores que no quería conectarse, pero los pude resolver y los publiqué por si alguien en el futuro le pasa algo parecido tal vez le pueda servir eso.

#8
Escrito 23 julio 2010 - 07:04
Ahh, eso crei.
Me alegro mucho que lo resolvieras.
Cualquier duda solo pregunta, aqui estamos para tratar de ayudar.
Saludos
PD: Me alegro verte otra vez por aqui, tenias dias sin entrar al foro, te estoy espiando.


#9
Escrito 23 julio 2010 - 09:52
Hola
Ahh, eso crei.
Me alegro mucho que lo resolvieras.
Cualquier duda solo pregunta, aqui estamos para tratar de ayudar.
Saludos
PD: Me alegro verte otra vez por aqui, tenias dias sin entrar al foro, te estoy espiando.![]()
Si tenia unos cuanto dias que no entraba, estaba un poco ocupada, pero si Dios quiere me veran mas seguido pro aqui. jeje