Informe con códigos y nombres que me abra los datos de cada uno

Tengo una bd el cual me abre un informe que contiene códigos y nombres de estudiantes. Lo que quiero es que yo pueda sobre ese mismo informe hundir el código del estudiante y se me abra otro con la información de el.

1 respuesta

Respuesta
1

Solo puedes hacerlo en Vista Informe del informe Estudiantes

En ese caso, puedes poner en las propiedades del cuadro de texto que sea, en el evento Al hacer clic

DoCmd.OpenReport "AnexoEstudiantes", acPreview, , "idalumno=reports!Estudiantes!idalumno",acdialog

Hola. Me puedes explicar mejor esta parte de que es cada uno. Gracias

"idalumno=reports!Estudiantes!idalumno",acdialog

Tienes que decirle que alumno quieres que te abra. Si la tabla origen del informe Estudiantes tienes, por ejemplo, CodEstudiante, Nombre, etc., y con ella has hecho el informe y quieres que desde el informe Estudiantes te abra otro informe AnexoEstudiantes, tienes que decirle que registro en concreto te tiene abrir en éste último informe. Por tanto debes decirle(da exactamente igual en que cuadro de texto de un registro pongas la instrucción)

Docmd. Openreport"Anexoesudiantes"... significa Abre el informe AnexoEstudiantes

Acpreview significa en Vista preliminar, ya que si pones acviewnormal, Access por defecto te lo imprime directamente.

CodEstudiante=... significa "En aquel registro cuyo Codestudiante sea igual al CodEstudiante del registro activo del informe Estudiantes" que es donde has hecho clic. Es el criterio que distingue a un registro de otro.

Si pusieras simplemente Docmd. Openreport"anexoestudiantes", acpreview te abriría este informe con los datos de todos los estudiantes.

Por ejemplo, supongamos que quieres que te abra el informe anexoestudiantes con todos aquellos que sean de Alemania y supongamos que este informe tiene un campo llamado País

Pondrías

docmd.openreport"AnexoEstudintes",acpreview,,"País=""Alemania"""

Ok, hasta ahora logro abrir el informe pero sin nada de datos, creo que el problema esta en esta parte: "idalumno=reports!Estudiantes!idalumno",acdialog

identifico que idalumno es en mi caso NMatricula

reports no se que seria

Estudiantes no se que tambien seria

Explicame esta parte por favor

Gracias 

Yo he puesto código porque en el encabezado de la pregunta dices "informe que contiene códigos y nombres de estudiantes", Pero a lo que me refería es a un valor que identifique a un registro único. Si en tu caso es Nmatricula, que lo tienes en el primer informe y en el segundo tendrías que poner

docmd.openreport"nombre del segundo informe",acpreview,,"nmatricula=reports!nombre del primero!nmatricula"

Reports es el término que se utiliza en Visual Basic par referirse a un informe, cuando haces referencia a él desde otro objeto activo. Me explico

Cuando le dices docmd. Openreport... este pasa a ser el objeto activo, por tanto para decirle que coja un valor de otro informe que ya no es el objeto activo(el que está en pantalla) te refieres a el como reports

Si la instrucción la das desde dentro del objeto activo te puedes referir a el como Report o Me. Por ejemplo para dar color de fondo rojo a un cuadro de texto en un informe, puedes poner en las propiedades de la sección donde este el cuadro de texto, al que llamaremos Cliente, en eventos-al dar formato

me.cliente.backcolor=255

Le estas diciendo que el objeto cuadro de texto Cliente de la colección de objetos del informe, su color de fondo sea rojo.

De todas formas, si quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Luis Carlo, ya que si no sé quien me escribe ni los abro.

Hola. LA verdad no me funcion, te voy a explicar bien como es todo lo que hago:

Abro un formulario que tiene un buscador, por ejemplo, si le doy A, el me abre un primer informe que se llama CONSULTA POR NOMBRE, que contiene el numero de matricula (NMatricula), nombres y apellidos. 

En ese informe en NMatricula le puse el evento al dar click (DoCmd.OpenReport "CONSULTA POR NOMBRE", acPreview, , "NMatricula=Reports!DatosPersonales!NMatricula"), pero cuando me abre le doy click alli y aparece lo de la imagen que te mando

Gracias

Si te aparece eso es, o bien, en el informe Datos Personales no existe el cuadro de texto Nmatricula, o bien quizá lleve acento o lo que mas me creo que no se llame así. Mira en el informe Datos Personales, en el cuadro de texto Nmatricula, en sus propiedades-otras-nombre cual es su nombre real.

De todas formas, creo que, o no lo he entendido bien, o lo estás haciendo mal. Dices ""si le doy A, el me abre un primer informe que se llama CONSULTA POR NOMBRE, que contiene el numero de matricula (NMatricula), nombres y apellidos. "" Si como supongo, al hacer clic en nmatricula lo que te tiene que abrir es el informe DatosPersonales, con los datos de ese alumno, donde tienes que poner el código es en el evento Al hacer clic del cuadro de texto Nmatricula del INFORME CONSULTA POR NOMBRE y lo que tienes que poner es

docmd.openreport"datospersonales",acpreview,,"nmatricula=reports!consulta por nombre]!nmatricula"

Ok, me funcionó perfecto. Tengo otra duda, como hago para que me muestre en azul y que el apuntador sea la manito

Gracias

Lo de poner en azul no lo he entendido. ¿El texto, el fondo, los bordes?

Para que te aparezca el cursor como una mano, en las propiedades del cuadro de texto NMatricula, en la solapa Formato, debes poner

Es Hipervínculo=No

Mostrar como hipervínculo=Solo en pantalla

Color del texto=Texto 1

Fuente Subrayada=No

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas