![]() |
could not convert variant of type (null) into type (string)
tengo una base de datos con el campo: Ejercicio y Periodo
tengo un problema, tengo un edit(periodo) que le incremento en uno dependiendo el item que selecciona el combobox(Ejercicio) aqui pero cuando selecciono un item que el periodo aun no existe me marca este error "could not convert variant of type (null) into type (string) " les comparto mi codigo.
cualquier sugerencia se los agradeceria mucho!! |
Hola davidmedina29.
Sin dudas el campo, tiene el valor NULL al momento de la asignación. Un modo de prevenir ese error es:
Saludos :) |
Hola ecfisa gracias por tu pronta respuesta
aplique el modo que me indicas en tu respuesta pero me sale este error LIST INDEX OUT OF BOUNDS(1) gracias! |
Seguramente es fields[0]
|
1 Archivos Adjunto(s)
Hola casimiro notevi
Si puse los fields en 0 pero el problema es que no me pone el '1' en el edit. en el combobox (EJERICIO) tengo 3 items(2014,2015,2016) lo que quiero es que si en mi tabla no tengo ningun registro del 2015 el edit(Periodo)empiese en 1 http://www.clubdelphi.com/foros/atta...1&d=1455650604 |
Si aún tienes problemas, tendrías que hacer algo así:
Creo recordar que el null de la unidad Variants , no es el mismo NULL de SQL Campo.IsNull devuelve True si el valor del campo en SQL es NULL (es decir, el valor no se ha asignado). Lo que quiero decir con este trabalenguas, es que el valor del campo puede ser "Variant null", en lugar de estar vacío. Yo evitaría todo tipo de Variants en la Base de datos por este mismo problema. por ejemplo: Si usas "campo.Value" estás usando Tipos Variants, si usas ASstring, asFloat, etc, el valor variant se convierte a string o Float. Saludos! |
gracias por responder [Lepe]
intente con tus ejemplos y sigue marcandome el mismo error de "LIST INDEX OUT OF BOUNDS(1)" :(:( |
Hola davidmedina29
Cita:
Cita:
Y si usas la evaluación que te indiqué: se comprueba que la consulta no esté vacía Y que el campo no sea NULL. De ser así, asígna el valor al Edit, y de modo contrario no hace nada. Podes modificar la última acción (hacer nada), por ejemplo:
Saludos :) |
Muchas gracias ecfisa!!
ya quedo
Saludos |
Otra forma haciendo que el query no nos regreso nulos:
|
Es utili tambien en caso de variantes reinicializar una variable a false :
|
La franja horaria es GMT +2. Ahora son las 20:42:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi