Martes 10 de diciembre

Hola, estoy haciendo un programa en visual basic y tengo una duda que no soy capaz de resolver.
El problema es que para emitir albaranes, le paso al dataenvironment una instruccion sql; se la paso yo porque los parametros de entrada varian en numero y en tipo. Me explico. Puedo ver albaranes unicamente por razon social, por razon social y fecha de inicio, o solo por fecha de inicio. Asi que hago;
dte.command(1).commandtext = sql
dtr.refresh
dtr.show
EL problema es que el resultado que me sale la primera vez, es el que me sale el resto de las veces, aunque modifique los parámetros de entrada. Así que tengo que cerrar el programa y volverlo a abrir cada vez que quiero que me muestre un resultado diferente.
Por favor, si tienes algún ejemplo parecido o sabes algún sitio que me pueda ayudar, te lo agradezco.
Un saludo¡
Respuesta
1
Hace tiempo tuve ese mismo problema pero no lo pude solucionar, dado que enconté una solución más práctica. Es la siguiente:
-En una función, ejecuto la sentencia SQL para almacenarla en un ADODB. Recordset.
-Luego, le asigno al DataReport el objeto Recordset cargado, de esta forma: Set dtr.DataSource = rst
-Luego, muestro el DataReport con dtr.Show de forma vbModal, y listo, el reporte sale en pantalla y se actualiza cada vez que lo utilizas.
Muchas gracias, ya lo he resuelto de la siguiente forma:
dte.commands(1).commandtext = sql
if dte.rscommands.state <> 0 then dte.rscommands.close
end if
dte.rscommands.open
dtr.show
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas