Access - Asignar un recordset a un subformulario de otro formulario

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Asignar un recordset a un subformulario de otro formulario

Publicado por Fiama (3 intervenciones) el 02/06/2018 16:31:01
Buenas, estaba intentado armar un formulario que busca en una consulta de parámetros de éxamenes de alumnos, los exámenes rendidos en cierto intervalo de fechas que se ingresan mediante dos cuadros de texto. El formulario contiene estos dos cuadros de texto (Fdesde y Fhasta), un botón que ejecuta la búsqueda y un subformulario donde se muestra el resultado.
Mi problema es que con el código que escribí en el evento click del botón, me salta un error:
"Se ha producido el error '2465' en tiempo de ejecución:
Microsoft Office Access no puede encontrar el campo '|' al que se hace referencia en su expresión."

Dejo adjunto el código que escribí en el evento click del comando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Comando9_Click()
 
Dim dbs As Database
Dim qdf As QueryDef
Dim rst As Recordset
 
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs("ExamenesIntervaloFechas")
 
qdf.Parameters("desde") = Form_Formulario1.Fdesde.Value
qdf.Parameters("hasta") = Form_Formulario1.Fhasta.Value
 
Set rst = qdf.OpenRecordset()
Set [Form_Subformulario ExamenesIntervaloFechas].Recordset = rst
 
End Sub

El error me lo marca en la última línea de código que es cuando asigno el rst a mi subformulario.
Si pueden ayudarme les agradecería mucho!
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

Asignar un recordset a un subformulario de otro formulario

Publicado por Anonimo (3320 intervenciones) el 03/06/2018 01:36:13
El origen de datos de un formulario es su RecordSource (no su recordset).

Una anotación, (posiblemente sea cosa de semántica)
Se hace referencia a un objeto (Form_Subformulario ExamenesIntervaloFechas) que al parecer es un subformulario, pero se le trata como formulario, la sintaxis para un subformulario necesita unas referencias mas concretas (por ejemplo: a que formulario pertenece).

Si el objeto en cuestión es un formulario, lo adecuado seria así:
1
Form_Subformulario ExamenesIntervaloFechas.RecordSource = rst

Si es un subformulario (de un formulario que no se menciona):
1
Forms.[formulario xxx].[Form_Subformulario ExamenesIntervaloFechas].Form.RecordSource = rst

Si se diera el caso de que es un subformulario del formulario actual (y activo), la sintaxis podría ser asi:
1
Me.[Form_Subformulario ExamenesIntervaloFechas].Form.RecordSource = rst


También se podría crear (en tiempo de ejecución) el origen de datos (basado en la consulta y con sus condicionantes)
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