Buscar en un campo de un formulario un dato numérico que esta en el formulario

Tengo un formulario en el cual se almacena el registro de estudiantes por evaluar en cada asignatura, y dentro de este hay un subformulario en el cual filtro la información por curso, asignatura a evaluar y el año lectivo, lo que necesito es que cuando de doble click en el campo "N°" del subformulario, me busque en el formulario, en el campo "N° EVALUACIÓN" ese mismo numero, que en consecuencia seria el registro completo.

La aplicación la realice con formulario de navegación, por lo cual referencio ese formulario en el código ;pero la verdad no he podido conseguir que realice lo que necesito.

1 respuesta

Respuesta

No sé si lo he entendido bien, pero supongamos que el control ese donde dices de hacer doble clic se llama Numero, aunque en la etiqueta Ponga Nº., y supongamos que la tabla origen del ese subformulario se llama DatosAlumno( es por poner un nombre). En las propiedades del control Numero, en Eventos-Al hacer doble clic crea un procedimiento de evento y entre Private Sub y End sub puedes poner

me.recordsource="select * from DatosAlumno where numero=" & me.numero & ""

Así, cuando hagas doble clic, por ejemplo, en el numero 2000, el origen de registros del subformulario serán todos aquellos de la tabla Datosalumno cuyo Numero coincida con el que aparece en el control en el que has hecho doble clic, o sea 2000

Para el filtrado de información en el subformulario   llamado "CCalificaciones_buscar_registros" lo hice por medio de una consulta y cuadros combinados, dicho subformulario esta dentro de otro subformulario llamado "Calificaciones_busqueda" que es donde se encuentran los cuadros combinados, curso,asignatura, año. Entonces nesecito que al dar clik en el campo "N°" del subformulario "CCalificaciones_buscar_registros" me ubique ese registro en el formulario "Calificaciones" en el campo "N° EVALUACION" el mismo registro.

resulta que la pregunta se fue mal, seria asi:

Buscar en un campo de un formulario un dato numérico que esta en un campo de un subformulario haciendo doble click 

Muchas gracias, espero haberme explicado mejor.

Si tengo el formulario Compras, con el subformulario Pedidos, independientes.

Si hago doble clic en el control IdCliente=84 del subformulario

El formulario Compras se "ha ido" al registro que tiene el mismo IdCliente( te he puesto los nombres para que puedas comprobar que es el mismo). El código del evento Al hacer doble clic del control IdCliente del subformulario es

Private Sub IdCliente_DblClick(Cancel As Integer)
Forms!Clientes.RecordSource = "select * from clientes where idcliente=" & Me.IdCliente & ""
End Sub

Buena tarde Julian,  te agradezco la ayuda pero sabes cuando ingreso el código no me funciona este es el que coloco.

Forms!Principal!Form!SubformularioDeNavegación.Form!Calificaciones.RecordSource = "select * from Calificaciones where concalificaciones=" & Me.Con_calificaciones & ""

Principal=  nombre del formulario de navegación que contiene todos los demás formularios-

SubformularioDeNavegación= nombre que le da por defecto acces al formulario que esta dentro del de navegacion(principal) y que contiene los formularios.

No se si tal ves estoy haciendo algo mal por eso no me sale, si me puedes ayudar.

Tu código funciona pero en un subformulario  normal; pero si esta dentro de un formulario de navegación no me sale.

Muchas gracias.

Vamos a ver. Si haces doble clic en el cuadro de texto del subformulario ¿para qué haces referencia a él? Tendrás que decirle que el origen de registros del formulario sea... Es decir la instrucción que te puse, ya que según la imagen que pusiste donde haces doble clic es un subformulario de un formulario.

Por otro lado,

Si tenemos un formulario que tiene un subformulario, que a su vez tiene otro subformulario y queremos hacer referencia a un control de este último desde el formulario principal pondremos:

Formularios! [NombreForm]! [Nombresubformulario]. Formulario! [Nombresubsubformulario]. Formulario! [nombrecontrol]

Fíjate que entre el nombre del subformulario y el objeto que es, hay puntos no signos de admiración.

La instrucción correcta es

Forms!Principal.RecordSource = "select * from Calificaciones where concalificaciones=" & Me.Con_calificaciones & ""

Buen dia Julian.

Según la sugerencia que me realizas me quedaría así:

Forms![Principal]![SubformularioDeNavegación].Form![Calificaciones].Form![concalificaciones].RecordSource = "select * from Calificaciones where concalificaciones=" & Me.Con_calificaciones & ""

pero me sigue saliendo error, no se si estoy omitiendo algo o que pasa.

Gracias

No sé si no me explico o que es lo que te pasa. En la pregunta inicial decías que al hacer doble clic sobre el cuadro de texto del subformulario que en la imagen tiene la etiqueta en amarillo, y que pone Nº, pero que no se como le llamas, ya que por la instrucción que pones se debe llamar Con_calificaciones, en el formulario te "buscase" el registro que en N_Evaluación tenga el mismo valor que donde acabas de hacer doble clic. Pues insisto en que en el evento Al hacer doble clic del cuadro de texto Con_calificaciones( que me extraña que se llame así)del subformulario hay que poner

forms!principal.recordsource=" select * from calificaciones where N_evaluacion=" & me.Con_calificaciones & ""

No sé de donde sacas lo de subformulario del subformulario. Y suponiendo que el formulario se llame Principal

Como podías ver en uno de los ejemplo que te envié, si hacías doble clic en el Idcliente del subformulario Pedidos, te "buscaba" en el formulario, el registro de la tabla Clientes que tenía el mismo Idcliente que el del subformulario Pedidos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas