CONTROL DATA Y CONSULTA AMACENADA Y PARAMETRIZADA
COMO PUEDO HACER QUE UN CONTROL DATA ME TOME UNA CONSULTA ALMACEADA Y PARAMETRIZADA EN ACCESS 97.
¿ ES ESO POSIBLE ?
¿ ES ESO POSIBLE ?
Una consulta de Access no es, ni más ni menos que una tabla temporal. Asi es que tratala como una tabla cualquiera.
Imagino que lo que usted no sabe es cómo pasar valores a los parámetros. En ese caso, tiene las siguientes opciones:
1. Si utiliza DAO:
Dim qDef as querdef
set qdef = <obj base datos>.querydefs(<nombre query>)
dim lCont as long
for lcont = 0 to qdef.parameters.count-1
qdef.parameters(lcont).value = <valor deseado>
next lcont
'luego abrir el query y asignar al data control
set data1.recordsource = qdef.openrecordset(<modo de acceso, tal vez dbOpenDynaset>)
2. Si utliza ADO:
Lo siento, no he usado mucho ado, pero se hace así:
a. rs.open "<nombre de query>(<valor1>, <valor2>, ...)
b. En un objeto command, agregue objetos Parameters. Primero los crea con command.createparameter, y luego los agrega a la colección, con command.parameters.append (si no me equivoco).
Al final, hace lo mismo que con DAO:
set data1.recordsource =command.execute
o
set data1.recordsource = rs.open ....
1. Si utiliza DAO:
Dim qDef as querdef
set qdef = <obj base datos>.querydefs(<nombre query>)
dim lCont as long
for lcont = 0 to qdef.parameters.count-1
qdef.parameters(lcont).value = <valor deseado>
next lcont
'luego abrir el query y asignar al data control
set data1.recordsource = qdef.openrecordset(<modo de acceso, tal vez dbOpenDynaset>)
2. Si utliza ADO:
Lo siento, no he usado mucho ado, pero se hace así:
a. rs.open "<nombre de query>(<valor1>, <valor2>, ...)
b. En un objeto command, agregue objetos Parameters. Primero los crea con command.createparameter, y luego los agrega a la colección, con command.parameters.append (si no me equivoco).
Al final, hace lo mismo que con DAO:
set data1.recordsource =command.execute
o
set data1.recordsource = rs.open ....