Access - FILTRAR REGISTROS EN REPORTE

 
Vista:

FILTRAR REGISTROS EN REPORTE

Publicado por ckikis (17 intervenciones) el 15/11/2011 22:00:25
ola amigos hace tiempo mire en un sistema que almacenaba la informacion de una persona en los campos nombre, apellidos, direccion, telefono, nacionalidad. en campos con los mismos nombres.

pero una vez que queria imprimir un reporte por nacionalidad, al pulsar el boton imprimir reporte aparecia una ventana que contenia una lista deplegable con las nacionalidades mas frecuentes, se seleccionaba una y se pulsaba imprimir de esta manera aprecian en el reporte solo los datos de las personas con cada nacionalidad.

quiero hacer eso pero no se como, no se site tien que hacer una comparacion,

les agradeceria su ayuda amigos, la verdad no se mucho de programacion, disculpen
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 Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

FILTRAR REGISTROS EN REPORTE

Publicado por Neckkito (1157 intervenciones) el 16/11/2011 18:25:03
Hola!

Lo "normal" para mí sería utilizar identificadores autonuméricos, pero eso complicaría un poco la explicación. Por ello voy a suponer que vas a utilizar las nacionalidades "a pelo", es decir, con los nombres completos de la nacionalidad.

Lo que pides se hace de la siguiente manera (te lo explico de la manera más simple posible):

- Creas una tabla, a la que llamaré TNacionalidades, con un sólo campo, de tipo texto, que se llamará [txtNacionalidad]. Ahí meterás, sin repetirlas, las nacionalidades.
- Creas otra tabla, a la que llamaré TDatos, donde tienes los diversos datos que necesitas. Entre ellos hay un campo, que llamaré [txtNacion], donde se guardarán las nacionalidades, y que también será de tipo texto.
- Sobre la tabla TDatos creas el informe RDatos, que evidentemente contendrá el campo [txtNacion]
- En un formulario en blanco (o en el que quieras) añades un cuadro combinado. Cuando te salga el asistente le dices que quieres seleccionar la tabla TNacionalidades, y le añades el único campo que tiene. Configuras el resto del asistente como quieras.
- Guardamos ese formulario como, por ejemplo, FImprimir. En vista diseño sacas las propiedades del combo que acabas de crear. Te vas a la pestaña Otras->Nombre, y le escribes ahí cboNacion.
- Ahora te vas a la pestaña Eventos->Después de actualizar, y te sitúas en el espacio en blanco que hay a su derecha. Te aparecerá un pequeño botón de puntos suspensivos. Haces click sobre él y, en la ventana que te sale, le dices que quieres generar código.
- Se te abrirá el editor de VB con dos líneas por defecto (Private Sub... y End Sub). Esas dos líneas no debes tocarlas. En medio de ellas escribes el siguiente código:
...
Private Sub...
Dim vNac as string
vNac = nz(me.cboNacion.value,"")
'Si no hubiera valor en el combo salimos del proceso
If vNac="" then exit sub
'Abrimos el informe filtrado en función de la nacionalidad elegida
Docmd.OpenReport "RDatos", acviewpreview,,"[txtNacion]='" & vNac & "'"
End Sub
...
Un comentario:
El informe se te va a abrir en vista previa porque así se lo hemos dicho en el código (acviewpreview). Si quieres que te salga directamente a la impresora debes cambiar esa constante de VB por esta otra: acviewNormal

A ver si te funciona.

Un saludo,


Neckkito (http://neckkito.eu5.org)
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

FILTRAR REGISTROS EN REPORTE

Publicado por chikis (17 intervenciones) el 17/11/2011 15:09:07
muchiximas gracias amigo, me sirvio mucho y si me funciono.

IUPI
GRACIAS
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