SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => VBA => Mensaje iniciado por: Manuel Castro Gómez en Miércoles 25 de Mayo de 2005, 22:00
-
Buenas amigos de SOLOCODIGO.
Tengo el siguiente còdigo que describo a continuaciòn:
Do While Not RstDirGenerales.EOF
CboProveedores.AddItem Right$(RstDirGenerales
("DRG_Codigo").Value,14) " " & _
RstDirGenerales("DRG_DirGeneral").Value
CboProveedores.ItemData(CboProveedores.NewIndex) =
Right$(RstDirGenerales("DRG_Codigo").Value, 14)
RstDirGenerales.MoveNext
Loop
El problema es que al cargar el formulario me da el error "DESBORDAMIENTO" en la lìnea CboProveedores.ItemData ............
Estuve leyendo en la ayuda y por lo que entiendo el citado error da porque ITEMDATA acepta solo valores enteros largos, y en este caso estoy tratando de guardar un texto o cadena de 14 posiciones numèricas. Dado que esto es lo que deseo ¿què me sugieren para solventar este inconveniente?
Un saludo a todos.
-
Qué tal Manuel?
Podrías guardar tales valores más bien en una matriz e indicar en la propiedad itemdata el índice o posición en la que los has guardado.
Suerte.
DiabloRojo.
-
Leì lo que me mandaste y gracias por tu atenciòn pero debe ser que soy ignorante y no entiendo bièn porque no veo la diferencia. Si yo guardo el valor en una matriz, dicho valor va a seguir siendo una cadena de 14 posiciones numèricas por lo que pienso me va a seguir dando el mismo error ¿Cierto o me equivoco?
Confìrmame tu punto de vista y disculpa tanta ignorancia.
-
Hola Manuel Castro Gómez!
En este momento no se cuanto es la capacidad del tipo de dato Long que es así como guardad los datos la propiedad ItemData, por el error que describes, pienso que es ese el motivo.
Saludos
-
Hola Manuel.
Pues tienes toda la razón. Si utilizas una matriz de tipo Long no estarías haciendo ninguna diferencia. Este tipo de datos tiene un rango de -2,147,483,648 a 2,147,483,647 y si contamos el número de posiciones resulta que sólo te permite un máximo de diez números (y tu necesitas catorce). Por eso te da el error de desbordamiento. La idea es que uses una matriz con otro tipo de datos recuerda que están el Single, el Double y el Decimal. Revisa en la ayuda a ver qué tipo de datos se adapta más a tus necesidades.
Suerte.
DiabloRojo.