Access - Abrir varias variantes de un informe desde un Loop

 
Vista:
Imágen de perfil de Cm
Val: 106
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir varias variantes de un informe desde un Loop

Publicado por Cm (68 intervenciones) el 25/09/2018 17:00:59
Hola,

Tengo un Recordset con varios registros. Lo recorro con un Loop y quiero abrir varios Informes de access teniendo en cuenta datos diferentes en cada apertura.

El objetivo es que queden n pestañas abiertas con n informes de cada elemento con Id diferente del recordset.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim op As Database   'Declaramos una base de datos
        Dim gfe As Recordset  'Declaramos recordset 
        Dim Id As Integer 'Declaramos un Id como Integer
        Set op = CurrentDb  'Asignamos valor a op 
 
        'Declaración del filtro
        filtro = "SELECT G.* "    'Todos los campos de G
        filtro = filtro & "FROM G "   'De la tabla G
        filtro = filtro & "WHERE IdE=" & Me!IdE     'En los cuales el IdE sea igual al IdE que viene del formulario
 
        Set gfe = optica.OpenRecordset(filtro, dbOpenDynaset) 'Se abre recordset con Dynaset usando ese filtro
 
        gfe.MoveFirst     'Vamos al primer registro
 
 
        Do Until gfe.EOF   ' Recorremos el recordset hasta el final
              DoCmd.OpenReport "oSobre", acViewPreview, , "id = " & gfe.Fields("Id").Value    'Mostramos cada uno de los Ids de los registros de la tabla recordset
              gfe.MoveNext 'Pasamos al siguiente registro
        Loop ' Fin del Loop
        gfe.Close  ' Cierre del Recordset

Sin embargo, sólo se abre un informe, no los tres o cuatro que debería teniendo en cuenta la longitud del recordset. ¿Qué puede estar fallando?¿Alguien puede dar una pista? Gracias por anticipado a todo el mundo. Si necesitan más datos no duden en preguntar.
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
Imágen de perfil de Oscar
Val: 198
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir varias variantes de un informe desde un Loop

Publicado por Oscar (80 intervenciones) el 26/09/2018 15:28:51
Buenas!

Creo que el problema lo tienes que usas siempre el mismo informe, con lo cual se machaca... jajaja es como la otra consulta que hiciste. Deberías tener un nombre de informe distinto para cada uno, para que los abra todos. Por ejemplo...

1
2
3
4
5
6
7
8
9
Reg=1
Do Until gfe.EOF   ' Recorremos el recordset hasta el final
 
              DoCmd.OpenReport "oSobre" & Reg, acViewPreview, , "id = " & gfe.Fields("Id").Value
 
              gfe.MoveNext 'Pasamos al siguiente registro
              Reg=Reg+1
 
        Loop

Con lo cual deberías tener oSobre1, oSobre2, oSobre3, etc... O si lo prefieres puedes tenerlos numerados por el id, si son consecutivos...

Saludos!
Óscar.
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
Imágen de perfil de Cm
Val: 106
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir varias variantes de un informe desde un Loop

Publicado por Cm (68 intervenciones) el 26/09/2018 16:40:04
Hola Óscar,

Gracias por tu respuesta, pero el caso es que sólo tengo un informe como el que quiero abrir. La diferencia entre un informe y otro es que tienen un id impreso ligeramente distinto, porque representan etiquetas de productos con un número de identificación distinto.
El objetivo es que tres botellas, tengan tres etiquetas distintas con un Id de fabricación propio, pero todo el resto igual.

¿Seguro que no hay ninguna opción para abrir el informe en un número cualquiera de copias variando sólo el Id?
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
Imágen de perfil de Cm
Val: 106
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Abrir varias variantes de un informe desde un Loop

Publicado por Cm (68 intervenciones) el 27/09/2018 12:50:30
Hay una manera de esquivar el problema:

Se puede hacer que un informe tenga varias páginas, aunque salga como una sola pestaña.
Habría que ver cómo darle varios IDs al informe.

Por ejemplo:
1
DoCmd.OpenReport "ordentallerSobre", acViewPreview, , "id = 20370 And id = 20371"

Sin embargo, esto último no funciona. Por algún motivo, esas Ids no entran como filtro. ¿Está mal la sintaxis?
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