Access - actualización de consulta sin abrirla

 
Vista:

actualización de consulta sin abrirla

Publicado por Diego (8 intervenciones) el 23/06/2000 00:00:00
Alguien tiene el código por ahí para que una consulta se actualice sin tener que abrirla.
El caso es el siguiente:
Tengo un formulario para hacer altas y bajas, y otro para hacer consultas y quiero actualizar la consulta desde el de altas y bajas para que despues al abrir el formulario de consultas, este actualizado. Si alguien tiene el código por ahí para hacer como un refresh de la consulta, tiremelo.
Necesitaría, tambien, si alguien tiene por ahí una base de datos con los códigos postales de Buenos Aires o de toda la Argentina.

Muchísimas gracias a todos por su tiempo

Saludos Die ([email protected])
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:actualización de consulta sin abrirla

Publicado por aldo (12 intervenciones) el 23/06/2000 00:00:00
Genera una macro donde te ejecute la consulta y despues debes configurar el access, para que no te muestre los mensajes.

Espero te sirva, si hay mas dudas enviame un e-mail.
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

Código para crear consulta en tiempo de ejecución

Publicado por David Lozano (20 intervenciones) el 23/06/2000 00:00:00
Mi solución es que hagas la consulta en tiempo de ejecución, para ello ve a la que tienes echa y ponla en modo SQL. Todo ese código será una variable "string" que debes manejar como tal, aquí tienes un ejemplo.
Creo el procedimiento "MakeQuery" y luego sólo debes de asociarlo a algún evento, click del ratón, form_load, o según tu veas

Sub MakeQuery()
´Define las siguientes variables
Dim dbs As Database, qdf As QueryDef, tdf As TableDef
Dim strSQL As String ´En esta cadena debes meter tu consulta
Dim wsp As Workspace
´Da la referencia al espacio de trabajo
Set wsp = DBEngine.Workspaces(0)
´Abre la base de datos actual
Set dbs = wsp.Databases(0)
´Actualiza la colección QueryDefs
dbs.QueryDefs.Refresh
´Si existe la consulta "NombreDeLaQuery" la elimina
For Each qdf In dbs.QueryDefs
If qdf.name = "NombreDeLaQuery" Then
dbs.QueryDefs.Delete qdf.name
End If
Next qdf
´Asignar a strSQL el texto de la Consulta
strSQL = "SELECT .....INTO....FROM ....INNER JOIN......"
´Creamos la consulta
Set qdf = dbs.CreateQueryDef("NombreDeLaConsulta", strSQL
´Ejecuta la consulta
qdf.Execute
´Quitale la referencia a la base de datos
Set dbs = Nothing

End Sub

´Por ejemplo para que se realice lo anterior
Private Sub Command1_click()
MakeQuery ´Se realizará lo que hay en el procedimiento
End sub

SI TIENES ALGUNA DUDA O HAY VES ALGÚN FALLO EN EL CÓDIGO PONTE EN CONTACTO A TRAVÉS DEL FORO. ESPERO QUE TE SIRVA DE AYUDA.
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

RE:Código para crear consulta en tiempo de ejecuc

Publicado por Diego (8 intervenciones) el 27/06/2000 00:00:00
Bueno, antes que nada te agradezco David por tu ayuda, ya que me fué de mucha utilidad. Pero por desgracia, y como recien estoy empezando con esto, no la tengo muy clara, y me surgieron estas dudas:
1) Para crear una consulta tipo SQL, puedo transformar la que ya tengo, no?
2) Lo que hice fué pasar a SQL la que ya tenía (no se si está bien) y cuando quise ejecutar la rutinita que me escribiste, me tiró un error:
error de sintaxis (falta un operador) en la expresión de consulta ´.....INTO...´
Yo me imagino que se refiere a la linea:
strSQL = "SELECT .....INTO....FROM ....INNER JOIN......",
pero cuando lo depuro me marca la línea:
Set qdf = dbs.CreateQueryDef("cltPrincipal_", strSQL),
asi que no se. Igual estube tocando cosas, pero no funkó. Si tenés un ratito de tiempo, fijate si se te ocurre algo.

Bueno David, me despido agradeciéndote de antemano el tiempo que me ofreciste y me ofrecés...

Saludos
Die ([email protected])
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

Analiza la SQL ahí esta el error

Publicado por David Lozano (20 intervenciones) el 27/06/2000 00:00:00
La línea que falla es efectivamente la que almacena la variable strSQL. Vamos a ver si esta vez te puedo ayudar mejor:

Paso1: Comprueba si la consulta que has diseñado funciona bien.

Paso2: Una vez comprobado vete al menú de access y pulsa a la derecha el botón "Diseño". Luego ve al menú superior y pulsa "Vista", elige "SQL", ahí está "tu consulta escrita". Si es demasiado larga divídela en varias de la siguiente forma:

strSQL = "SELECT................"
strSQL = strSQL & " FROM.............."
strSQL = strSQL & " .................."

Espero que esta vez no tengas problemas, si los tienes no dudes en avisarme. Saludos.
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

RE:Analiza la SQL ahí esta el error

Publicado por Diego (8 intervenciones) el 04/07/2000 00:00:00
Gracias David. Ya solucioné el problema por otro lado, pero te agradezco tu ayuda y tu tiempo. me fueron muy útiles tus consejos...

Saludos, Suerte
Die
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

RE:Código para crear consulta en tiempo de ejecuc

Publicado por Héctor Murcia (3 intervenciones) el 05/05/2007 14:00:19
David:

Muchas gracias. Me sacaste de un aprieto desarrollando un aplicativo.
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

Informe utilizando crear consulta

Publicado por JimmyMerida (1 intervención) el 06/07/2012 10:52:48
Excelente código fácil de aplicar. lo he utilizado para imprimir informe tipo factura que va variando de acuerdo al numero de factura.

1ro Cree la consulta factura
2do Cree el informe asociándolo a la consulta anteriormente creada.
3ro Entré a la consulta nuevamente y en vista SQL copie la consulta SELECT y la puse en el código que nos da de ejemplo David Lozano (Muchas gracias David)
4to Modifico el SELECT para que utilice una variable para que busque nro_Factura que necesito
5to En el Código de David cambio el nombre de la consulta a crear por factura
6to ahora llamo el procedimiento MakeQuery para que actualice la consulta
7mo visualizo el informe o imprimo el informe directamente
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