Actualizar un objeto CONSULTA en un SUBFORMULARIO

21/09/2010 - 08:32 por Wally | Informe spam
Buen día a Todos, tengo la siguiente duda, creé una consulta con un
objeto CONSULTA y la siguiente sentencia:

SELECT <campos> FROM <tabla > WHERE <condicion_inicial>

luego lo pegue en un SUBFORMULARIO dentro de mi FORM principal, hasta
aqui todo correcto.

Para actualizar la sentencia SQL de mi objeto CONSULTA utilizo la
siguiente instruccion dentro de la propiedad ON_CLICK de un botón:

Dim strSQL As String

strSQL = SELECT <campos>
strSQL = strSQL + FROM <tabla>
strSQL = strSQL + WHERE <condicion_modificada> 'ESTO ES LO QUE
MODIFICO

For Each Consulta In CurrentDb.QueryDefs
If Consulta.Name = "Consulta TODOS 0" Then
Consulta.SQL = strSQL
Exit For
End If
Next Consulta

Consulta.Close
Set Consulta = Nothing

si modifica la consulta SQL, EL PROBLEMA ES QUE solo me refresca el
contenido en el FORM hasta que lo cierro y lo vuelvo a abrir. Ya
intenté con los metodos REFRESH, REQUERY y RECALC tanto para el FORM
como para el SUBFORM y no me funciona.

¿Tiene solicuón mi problema?, ¿cuál sería?, gracias de antemano por su
atención!!!
 

Leer las respuestas

#1 José Mª Fueyo
21/09/2010 - 12:54 | Informe spam
Hola Wally
Sí quieres modificar el SQL de un querydef, y quieres que los cambios
sean permanentes, tendrás que borrar la consulta y volverla a crear

CurrentDb.Querydefs("Consulta").Delete
CurrentDb.Querydefs.Refresh
CurrentDb.CreateQueryDef("Consulta",SQL)

Salu2
José Mª Fueyo
[MS MVP Access]

Preguntas similares