Problema con consulta VBA
Hola que tal buenas tardes!
Estoy haciendo una base de datos en la que requiero lo siguiente.
Tengo un menu donde pondré los botones para mostrar un informe basado en una consulta con un filtro ya hecho.
La vdd estoy aprendiendo vba con la web de Neckkito y sus ejemplos, así que no se mucho, me base en lo que mas o menos he visto para hacer el siguiente código:
Public Sub ñam(elForm As String, numConsulta As Byte)
Dim miSql As String
Dim resp As Integer
Dim rst As DAO.Recordset
'Creamos el inicio de la consulta
miSql = "SELECT DOCUMENTOS.No, DOCUMENTOS.GIRADOPOR,DOCUMENTOS.DIRIGIDOA, DOCUMENTOS.FECHADEELABORACIÓN,DOCUMENTOS.FECHADERECIBIDO," _
& " DOCUMENTOS.NODEDOCUMENTO, DOCUMENTOS.DOCUMENTO, DOCUMENTOS.TIPO, DOCUMENTOS.ASUNTO,DOCUMENTOS.ÁREA,DOCUMENTOS.SEGUIMIENTO,"
Select Case numConsulta
Case 1
'Acabamos de construir la SQL con las tareas no completadas
'y sobre las que ya se haya entrado en periodo de preaviso.
miSql = miSql _
& " DOCUMENTOS.ÁREA FROM DOCUMENTOS WHERE DOCUMENTOS.ÁREA=ENTRADA CSGZ AND DOCUMENTOS.ÁREA=ENTRADA PC AND DOCUMENTOS.ÁREA=ENTRADA UDIZ"
Case 2
'Acabamos de construir la SQL con las tareas no completadas
'y sin vencimiento
miSql = miSql _
& " DOCUMENTOS.ÁREA FROM DOCUMENTOS WHERE DOCUMENTOS.ÁREA=SALIDA CSGZ"
Case 3
'Acabamos de construir la SQL con las tareas completadas
miSql = miSql _
& " DOCUMENTOS.ÁREA FROM DOCUMENTOS WHERE DOCUMENTOS.ÁREA=SALIDA PC"
Case 4
'Acabamos de construir la SQL para las tareas del día seleccionado
'que no estén finalizadas
miSql = miSql _
& " DOCUMENTOS.ÁREA FROM DOCUMENTOS WHERE DOCUMENTOS.ÁREA=SALIDA UDIZ"
End Select
'Creamos el recorset sobre la SQL
Set rst = CurrentDb.OpenRecordset(miSql)
'Abrimos FInfo en vista diseño y oculto
DoCmd.OpenForm "DOCUMENTOS3", acDesign, , , , acHidden
'Le indicamos que su origen de datos es nuestra SQL
Forms!DOCUMENTOS3.RecordSource = miSql
'Cerramos FInfo guardando los cambios
DoCmd.Close acForm, "DOCUMENTOS3", acSaveYes
'Cerramos el formulario actual
DoCmd.Close acForm, elForm
'Abrimos FInfo para ver la información y editarla
DoCmd.OpenForm "DOCUMENTOS3", , , , acFormEdit
Forms!FInfo.AllowAdditions = False
Salida:
'Cerramos conexiones y liberamos memoria
rst.Close
Set rst = Nothing
End Sub
DOCUMENTOS es la tabla y los valores de Entrada PC, Entrada CSGZ son valores que declare en la misma tabla en la parte de búsqueda, lista de valores.
Al darle al botón la llamada del sub programa me sale error an Set rst = CurrentDb.OpenRecordset(miSql) pero el msgbox sale todo lo que corresponde al caso que elijo.
Espero me puedas ayudar y tenme paciencia, voy aprendiendo conforme la marcha.