Visual Basic - Como ejecutar sentencias VB desde una tabla

Life is soft - evento anual de software empresarial
 
Vista:

Como ejecutar sentencias VB desde una tabla

Publicado por Marcelo (1 intervención) el 01/04/2010 15:28:56
Hola,
Necesito ejecutar líneas de código VB6 que están almacenadas en una tabla. Intenté hacerlo con el control ScriptControl, pero no me funciona.

La tabla tiene columnas para almacenar el nombre del formulario, el nombre del control y el valor de la propiedad enabled

Dentro de un recordset asigno este SQL:

select nombre_formulario, nombre_boton, estado from tabla

(supongamos que este es el resultado)
nombre_formulario| nombre_boton | estado
-------------------|-----------------------------|-------------
frmEmpleado | cmdAgregar | true
frmEmpleado | cmdModificar | false
frmEmpleado | cmdBorrar | true

Luego, voy a recorrer la consulta SQL y construyo una sentencia de código con los valores de cada columna. Deseo que VB tome la variable y la ejecute como si fuera una sentencia VB.

vb Código:
do while not rs.eof
exp$ = rs.fields(0) + "." + rs.fields(1) + ".enabled = " + rs.fields(2)
frmPrincipal.scriptcontrol1.ExecuteStatement (exp)
rs.movenext
loop

Algo me falta o lo estoy haciendo incorrectamente. Alguien puede darme más indicaciones?????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como ejecutar sentencias VB desde una tabla

Publicado por Germàn Romo (27 intervenciones) el 02/04/2010 18:41:30
No te olvides que cuando se abre una tabla en ADO primero tienes que cerrar y luego abrir la tabla para ir leyendo en forma secuencial como lo estas haciendo, tu problema es lo siguiente. Es más tienes que identificar los controles del objeto para que tu puedas manipular las propiedades de esos objetos. en lo que presentas no se ve que utilices esas propiedades propias de cada objeto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar