Problema con 3 tablas en vfp 6.0
Hola que tal tengo un problema con un sistema con 3 bases de datos.
Lo que sucede es que tengo en un formulario con un combobox con 3 elementos que son sistema equipo y componete y dependiendo del que el usuario seleccione abre una tabla (use x) con el mismo nombre.
Despues el combo2 se llena con los valores del nombre dependiendo de la tabla abierta (lo hice usando use tabla ).
El problema es que cuando cambio el valor del combo1 (ya sea de sistema a componente o a equipo) me marca un error de que la que seleccione anteriormente ya esta abierta.
No se como cerrar una y utilizar otra tabla alguien me podria ayudar?
este es el codigo dentro de combo2 en accion click
if this.value = "Sistemas" then
use sistemas
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from sistemas into cursor cur_var"
endif
if this.value = "Equipos" then
use equipos
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from equipos into cursor cur_var"
endif
if this.value = "Componentes" then
use componentes
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from componentes into cursor cur_var"
endif
Lo que sucede es que tengo en un formulario con un combobox con 3 elementos que son sistema equipo y componete y dependiendo del que el usuario seleccione abre una tabla (use x) con el mismo nombre.
Despues el combo2 se llena con los valores del nombre dependiendo de la tabla abierta (lo hice usando use tabla ).
El problema es que cuando cambio el valor del combo1 (ya sea de sistema a componente o a equipo) me marca un error de que la que seleccione anteriormente ya esta abierta.
No se como cerrar una y utilizar otra tabla alguien me podria ayudar?
este es el codigo dentro de combo2 en accion click
if this.value = "Sistemas" then
use sistemas
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from sistemas into cursor cur_var"
endif
if this.value = "Equipos" then
use equipos
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from equipos into cursor cur_var"
endif
if this.value = "Componentes" then
use componentes
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from componentes into cursor cur_var"
endif
if this.value = "Sistemas" then
IF !USED('sistemas')
SELECT 0
USE sistemas
ELSE
SELECT sistemas
ENDIF
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from sistemas into cursor cur_var"
endif
if this.value = "Equipos" then
IF !USED('equipos')
SELECT 0
USE equipos
ELSE
SELECT equipos
ENDIF
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from equipos into cursor cur_var"
endif
if this.value = "Componentes" then
IF !USED('componentes')
SELECT 0
USE componentes
ELSE
SELECT componentes
ENDIF
thisform.combo1.rowsourcetype = 3
thisform.combo1.rowsource = "select nombre from componentes into cursor cur_var"
endif
Un Saludo
TodoTrucos
Haber, haber .....
optimicemos esto, si ??
this.rowsourcetype = 3
IF USED("cur_var")
USE IN cur_var
ENDIF
DO CASE this.value
CASE this.value = "Sistemas"
this.rowsource = "select nombre from sistemas into cursor cur_var"
CASE this.value = "Equipos"
this.rowsource = "select nombre from equipos into cursor cur_var"
CASE this.value = "Componentes"
this.rowsource = "select nombre from componentes into cursor cur_var"
ENDCASE
Queda mas sencillom no??
optimicemos esto, si ??
this.rowsourcetype = 3
IF USED("cur_var")
USE IN cur_var
ENDIF
DO CASE this.value
CASE this.value = "Sistemas"
this.rowsource = "select nombre from sistemas into cursor cur_var"
CASE this.value = "Equipos"
this.rowsource = "select nombre from equipos into cursor cur_var"
CASE this.value = "Componentes"
this.rowsource = "select nombre from componentes into cursor cur_var"
ENDCASE
Queda mas sencillom no??