Refrescar Grid en Access

30/07/2003 - 09:25 por Emilio | Informe spam
En una aplicación VB (ADO) trabajo sobre sql server y
todo funciona perfectamente pero ahora quiero trabajar
sobre access y me encuentro con un problema muy curioso.
El usuario da de alta unos datos y según los graba se
muestran en un grid. Para que se vean al momento,
refresco el grid del siguiente modo:

If DataEnvironment.rscmd.State = adStateOpen Then
DataEnvironment.rscmd.Close
End If
DataEnvironment.cmd
DataGrid.DataMember = "cmd"
DataGrid.ReBind

Con sql server funciona bien pero en access tengo que
salir de la aplicación y volver a entrar para que el grid
me muestre la última información añadida.

¿Qué está ocurriendo?

Muchísimas gracias.
 

Leer las respuestas

#1 Victor Koch
30/07/2003 - 14:53 | Informe spam
Hay que refrescar el cache del Jet, agrega al projecto la referencia
Microsoft Jet and Replication Object ..
y usa este codigo

Dim JRO As New JRO.JetEngine
JRO.RefreshCache Base
Set JRO = Nothing

Donde Base es el objeto connection, supongo que para tu caso seria
DataEnvironment, la verdad es que yo no uso el DataEnvironment, habria que
fijarce si el DataEnvironment tiene un metodo para actualizar el cache,
tambien te convendria comenzar y finalizar una transaccion.

Un saludo, Víctor Koch.


"Emilio" escribió en el mensaje
news:078601c3566b$bd02c2b0$
En una aplicación VB (ADO) trabajo sobre sql server y
todo funciona perfectamente pero ahora quiero trabajar
sobre access y me encuentro con un problema muy curioso.
El usuario da de alta unos datos y según los graba se
muestran en un grid. Para que se vean al momento,
refresco el grid del siguiente modo:

If DataEnvironment.rscmd.State = adStateOpen Then
DataEnvironment.rscmd.Close
End If
DataEnvironment.cmd
DataGrid.DataMember = "cmd"
DataGrid.ReBind

Con sql server funciona bien pero en access tengo que
salir de la aplicación y volver a entrar para que el grid
me muestre la última información añadida.

¿Qué está ocurriendo?

Muchísimas gracias.

Preguntas similares