Buscar registro en un combobox y abrir otro formulario

Tengo una base de datos en access 2007 la cual contiene un formulario llamado Proyectos. Cada proyecto se identifica por un número de expediente. En este formulario quiero crear un combobox que contenga todos los números de expediente. Cuando busque un registro quiero que al encontrarlo me abra otro formulario llamado Detalles de proyectos donde se muestran los detalles del proyecto escogido. En caso de que yo buscara un número de expediente que no existe me gustaría que apareciera un mensaje de error.
¿Me podrías dar una ayuda con el código del combobox?
Respuesta
1
Inserta un nuevo ComboBox. Luego Access te mostrará un asistente. Sigue los siguientes pasos.
1- Selecciona "Deseo que el cuadro de lista busque los valores en una tabla o consulta"
2- Siguiente
3- Selecciona la Tabla "Expedientes"
4- Siguiente
5- Selecciona el Campo "Numero-Expediente"
6- Siguiente
7- Lo puedes ordenar seleccionado el campo
8- Siguiente
9- Siguiente
10- Finalizar
11- Luego te diriges al cuadro de propiedades del combobox
12- Selecciona la Ficha "Datos"
13- Cambias: Limitar a la lista="Si".
Cambia el Nombre del Combo a "ComboExpediente". (Así luego coincide con el código que sigue)
Te permitirá solamente seleccionar los expedientes existentes y no otros.
Luego en el Evento "Después de Actualizar" del Combo, en el código de Visual basic insertas lo siguiente:
Private Sub ComboExpediente_AfterUpdate()
    DoCmd.OpenForm "Detalles de proyectos", acNormal, , "Id_Expediente=" & Me.Cuadro_combinado2.Value
End Sub
Corrección. El código es:
DoCmd.OpenForm "Detalles de proyectos", acNormal, , "Numero-Expediente=" & Me.ComboExpediente.Value
He puesto la instrucción tal y como me has dicho cambiando los nombres:
Private Sub ComboExpediente_AfterUpdate()
DoCmd.OpenForm "Detalles de proyectos", acNormal, , "Número expedient=" & Me.ComboExpediente.Value
End Sub
Pero me da el siguiente error:
Error de sintaxis (falta de operador) en la expresión Número expedient = 110902
¿Sabes cómo lo puedo solucionar?
Gracias por tu rapidez en contestar!
Si el campo "Número expedient" es de tipo texto debes agregar comillas simples al filtro:
"Número expedient='" & Me.ComboExpediente.Value & "'"
Además prueba con corchetes.
"[Número expedient]='" & Me.ComboExpediente.Value & "'"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas