Abrir formulario que posee un cuadro de lista, este ultimo filtrado por campo

Tengo un formulario en el cual hay un cuadro de lista con datos de pacientes, lo que quisiera es que al hacer doble click en el paciente, se abra otro formulario que tenga un cuadro de lista con los procedimientos a éste realizados. Tengo una tabla que se llama PACIENTE y otra que se llama PROCEDIMIENTO. Lo que busco es que al hacer doble click se abra este nuevo formulario con un cuadro de lista que posea solo los procedimientos del paciente en cuestión. Ambas tablas (PROCEDIMIENTo y PACIENTE) tienen el campo DNI.

1 respuesta

Respuesta

Marcelo: En el Evento dobleClick del ListBox pones:

DoCmd.OpenForm FormName:="[NombreDeTuFormulario]", WindowMode:=acWindowNormal, WhereCondition:="DNI = '" & Me.DNI & "'"

Obien:
DoCmd.OpenForm "[NombreDeTuFormulario]", , , "DNI = '" & Me.DNI & "'"

Y si elDNI es Numérico >> "DNI = " & Me.DNI

Un saludo >> Jacinto

Hola jacinto,  efectivamente se abre el formulario filtrado por DNI, pero el listbox del formulario que abro me muestra todos los registros, yo lo que quisiera es que solo me muestre (el listbox) los resultados que corresponden a ese determinado dni. Lo que quiero es abrir el listbox filtrado.

Marcelo: Al no tener datos de los Nombres de Objetos >> Formulario que abres, Nombre del ListBox etc.. los inventaré y te sugeriré algo simple. Una manera porque hay varias.

Despues de la línea de apertura.

Forms!FormA.Form.ListBoxA.RowSorce = "SELECT * FROM LaTabla WHERE DNI = '" & Me.DNI & "'"

Siendo FormA el Formulario que acabas de abrir. ListBoxAel Cuadro de Lista que quieres fitrar, LaTabla >> Origen de datos del ListBoxA.

Si alguno de los Nombres tiene espacios o acentos o caracteres extraños ha de ir entre corchetes.

Recuerda la aclaración de mi respuesta sobre el tipo de dato del DNI. Lo he puesto como si fuera un texto. Mis saludos >> Jacinto

Jacinto, me queda así la insrtuccion pero no funciona.

Private Sub Estudios_Click()
DoCmd.OpenForm "F_lista_procedimientos", , , "DNI = '" & Me.DNI & "'"
Forms!F_lista_procedimientos.Form.Lista7.RowSorce = "SELECT * FROM procedimiento WHERE DNI = '" & Me.DNI & "'"
End Sub

Tengo un formulario (f_paciente) en donde estoy visualizando un registro con determinado DNI. Desde el boton "Estudios" al hacer click pongo el codigo. el formulario que se abre (filtrado) es el F_lista_procedimientos, el cual tiene como origen de registro la lista "procedimiento" y a su vez posee el cuadro de lista "Lista7", que tiene como origen de la fila la consulta "SELECT procedimiento.Id, procedimiento.procedimiento, procedimiento.f_procedimiento, procedimiento.operador FROM procedimiento ORDER BY procedimiento.Id; 

Lo que no se es que estoy haciendo mal, para que se abra el f_lista_procedimientos con el Lista7 filtrado por el DNI del formulario f_paciente.

Marcelo: Según aprecio no lo vas a conseguir, porque en la Lista7 no tienes referenciado el Campo DNI de la tabla, que por tu nota veo es Procedimiento. Si esa tabla lo tiene simplemente añadelo al RowSource y asegura que lo toma. Ponle ancho de columna distinta de cero.

Ya me contarás. Un saludo >> Jacinto

¡Gracias! Jacinto ante todo gracias por la ayuda, hice lo que me decías y funcionó, pero después de darme cuenta un error garrafas (sorce en vez de source)... He Allí El problema. Ja ja qué difícil se pone a veces uno revisa y revisa...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas