Error al elegir item en un Combo

Hola, esta es mi consulta: Tengo un formulario, cajas de texo y dos combos, en el init del form tengo esta linea de código:
SELECT areas
select area,cod_area from areas order by cod_area into array thisform.tiparea 
thisform.combo1.rowsource="thisform.tiparea"
thisform.combo1.ListIndex=0
*** tiparea es una propiedad creada para este formulario.
En el evento interactivechange del combo tengo este codigo:
nArea = thisform.tiparea[thisform.combo1.value, 2]
Cada vez que elijo un item en el código me sale el siguiente error:
Invalid Subscript reference y no me deja salir del formulario luego me sale este mensaje:
file cannot be closed because outstanding references exist, al final tengo que salir de fox y volver a entrar.  Espero me puedas ayudar. Gracias de antemano.

1 respuesta

Respuesta
1
El error de invalid subscript reference es porque estas haciendo referencia a un elemento del combo que no existe por ejemplo si el combo solo tiene 10 filas y tu haces referencia al elemento 11 entonces ahí te sale el error. Podrías indicarme que haces en el evento TIPAREA como para ver si por ahí esta el problema
Hola gracias por contestar, tiparea no es un evento es una propiedad del formulario de este tipo tiparea(1,1), esta propiedad servirá como array para almacenar los registros de la tabla áreas así:
SELECT areas
select area,cod_area from areas order by cod_area into array thisform.tiparea &&esta es la propiedad).
thisform.combo1.rowsource="thisform.tiparea"  && Aqui cargo el combo con los registros de la tabla areas a traves del  array tiparea.
thisform.combo1.ListIndex=0
Comprendo, mira en todo caso haz lo siguiente :
thisform.combo1.rowsourcetype = 6
thisform.combo1.rowsource = ""
select area,cod_area from areas order by cod_area into cursor cur_areas
thisform.combo1.rowsource = "cur_areas"
thisform.combo1.refresh
Intenta con ese código para ver si ahí te resulta
Bueno ahí me muestra normal los registros de la tabla áreas en el combo, pero como hago para que en el interactivechange del combo me almacene en una variable el cod_area cada vez que elijo una área.
te cuento que eso es automatica mira al momento de ubicarte en cualquiera de los elementos del combo tambien se mueve el puntero dentro del cursor cur_areas, asi que en cualquier parte del codigo puedes hacer referencia al cursor y al campo por ejemplo en un boton puedes poner ncodigo = cur_area.cod_area y te devolvera el codigo del elemento que este seleccionado en el combo.
Bueno he tratado de grabar en un combo en el interactivechange lo siguiente:
nArea=areas.cod_area
La varaiable nArea la puse como publica en el evento init del form pero cuando grabo los datos de esta manera:
repla cod_area with nArea aparentemente graba el codigo que elejí en el combo, pero cuando voy a revisar en la tabla no se ha grabado el código que elejí por ejem en el combo elijo Gerencia que es el codigo 1 pero en la tabla aparace el codigo 11 que es secretaria, a que se debe esto.
pero areas es el nombre que le pusiste al cursor que creaste en el select ? porque si no es asi entonces estas haciendo referencia a la tabla areas y en esa tabla el puntero debe estar ubicado en otro registro, si seguiste el ejemplo que te puse y al final del select pusiste into cursor cur_areas entonces nArea = cur_areas.cod_area

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas