Apertura de archivos dificultad
Publicado por alexcoinc (450 intervenciones) el 05/09/2007 15:04:03
HACE DIAS COMENTE ESTE PROBLEMITA Y AUN NO HE PODIDO SOLUCIONARLO,
ESPERO QUE EN ESTA OCASION PUEDAN AYUDARME Y DE ANTEMANO MUCHAS GRACIAS.
TENGO ESTA FUNCION QUE ME ABRE UN ARCHIVO SEGUN LA NECESIDAD
SE EJECUTA:
abrearchi(1) && abre el archivo de tarifas y me ejecuta el formulario f_procedi.
abrearchi(2) && abre el archivo de grupos y me ejecuta el formulario f_grupos.
Cada archivo esta en una ruta definida y las tablas son libres
y no están en el entorno de datos de los formularios.
*--------------------------
FUNCTION ABREARCHI
PARAMETAERS opci
DO CASE
CASE opci=1
IF !USED(alltrim(rutax)+'tarifa')
SELE 55
USE alltrim(rutax)+'tarifa' alias movtari
set order to unido
ENDIF
sele 55
go top
do form f_procedi
SELE 55
USE && cierra la tabla
CASE opci=2
IF !USED(alltrim(rutax)+'grupos')
SELE 57
USE alltrim(rutax)+'grupos' alias movgrup
set order to grupo
ENDIF
sele 57
go top
do form f_grupos
SELE 57
USE && cierra la tabla
ENDCASE
RETURN
Hasta aqui todo bien.
Ahora, dentro del formulario f_procedi, utilizo la información de la tabla grupos.dbf, con una instrucción SQL,
la cual coloco en un cuadro combinado, en este caso combo3, asi:
comenta1="select nombre,grupo from (alltrim(rutax)+'grupos') into cursor kur_grup"
thisform.pageframe1.page2.combo3.rowsource=comenta1
Hasta aqui todo bien.
EL PROBLEMA QUE SE ME PRESENTA, esta cuando empiezo a llamar los formularios:
Si ejecuto abrearchi(2), funciona bien
luego, inmediatamente ejecuto abrearchi(1) y funciona bien,
PERO AL TRATAR INMEDIATAMENTE DE VOLVER A EJECUTAR abrearchi(2), para que me muestre otra vez el formulario de grupos,
me saca un error que me dice:
" El archivo ya esta en uso " y me rompe la aplicación.
Pensé que era que los archivos (tablas) quedaban abiertas y por eso entonces utilice despúes de salir de cada formulario
el sele XX y luego el use (como se ve en la función), pero esto no soluciona nada, sigue el error.
Lo único que me inquieta es que en el formulario f_procedi(cuando se usa abrearchi(1) ) utilizo la instrucción SQL para
armar la información del combo ..... será esto lo que está ocasionando el problema ???
Son incompatibles, Como lo podría solucionar o que estoy haciendo mal.
Muchas gracias por su colaboración y ayuda, que de verdad si que la necesito.
[email protected]
ESPERO QUE EN ESTA OCASION PUEDAN AYUDARME Y DE ANTEMANO MUCHAS GRACIAS.
TENGO ESTA FUNCION QUE ME ABRE UN ARCHIVO SEGUN LA NECESIDAD
SE EJECUTA:
abrearchi(1) && abre el archivo de tarifas y me ejecuta el formulario f_procedi.
abrearchi(2) && abre el archivo de grupos y me ejecuta el formulario f_grupos.
Cada archivo esta en una ruta definida y las tablas son libres
y no están en el entorno de datos de los formularios.
*--------------------------
FUNCTION ABREARCHI
PARAMETAERS opci
DO CASE
CASE opci=1
IF !USED(alltrim(rutax)+'tarifa')
SELE 55
USE alltrim(rutax)+'tarifa' alias movtari
set order to unido
ENDIF
sele 55
go top
do form f_procedi
SELE 55
USE && cierra la tabla
CASE opci=2
IF !USED(alltrim(rutax)+'grupos')
SELE 57
USE alltrim(rutax)+'grupos' alias movgrup
set order to grupo
ENDIF
sele 57
go top
do form f_grupos
SELE 57
USE && cierra la tabla
ENDCASE
RETURN
Hasta aqui todo bien.
Ahora, dentro del formulario f_procedi, utilizo la información de la tabla grupos.dbf, con una instrucción SQL,
la cual coloco en un cuadro combinado, en este caso combo3, asi:
comenta1="select nombre,grupo from (alltrim(rutax)+'grupos') into cursor kur_grup"
thisform.pageframe1.page2.combo3.rowsource=comenta1
Hasta aqui todo bien.
EL PROBLEMA QUE SE ME PRESENTA, esta cuando empiezo a llamar los formularios:
Si ejecuto abrearchi(2), funciona bien
luego, inmediatamente ejecuto abrearchi(1) y funciona bien,
PERO AL TRATAR INMEDIATAMENTE DE VOLVER A EJECUTAR abrearchi(2), para que me muestre otra vez el formulario de grupos,
me saca un error que me dice:
" El archivo ya esta en uso " y me rompe la aplicación.
Pensé que era que los archivos (tablas) quedaban abiertas y por eso entonces utilice despúes de salir de cada formulario
el sele XX y luego el use (como se ve en la función), pero esto no soluciona nada, sigue el error.
Lo único que me inquieta es que en el formulario f_procedi(cuando se usa abrearchi(1) ) utilizo la instrucción SQL para
armar la información del combo ..... será esto lo que está ocasionando el problema ???
Son incompatibles, Como lo podría solucionar o que estoy haciendo mal.
Muchas gracias por su colaboración y ayuda, que de verdad si que la necesito.
[email protected]
Valora esta pregunta
0