Mostrar ultimo valor ingresado en cuadro combinado

Como hago para que, cuando agrego un nuevo valor a un cuadro combinado, éste me aparezca en el visor, sin tener que buscarlo en toda la lista.

2 respuestas

Respuesta

Lo normal es que se le asigne como valor en cuanto se crea (con excepciones tal como 'inyectarle los ítems' o valores).

En todo caso basta con asignárselo en su columna independiente (que no siempre es la que se visualiza).

Hola! Gracias por su ayuda. ¿Cuándo decís "En todo caso basta con asignárselo en su columna independiente (que no siempre es la que se visualiza)." como se hace?

Pues tan sencillo como (si su columna dependiente es el elemento de código 'abc1' y lo que se muestra es 'Silla de camping' :

Me.[nombre del combo] = "abc1"

Y se visualizara 'Silla de camping' en el combo.

Unas dudas:

¿Qué tipo de origen de datos tiene el combo?:

A: Tabla/consulta

B: Lista de valores

Otra duda (para acortar el camino a la solución)

Actualmente ¿Cómo se le añaden elementos al combo?

Hola! Te comento como lo tengo armado:

Tengo un formulario llamado "Pedido de Cliente", que contiene un cuadro combinado llamado "Buque". Cuando se quiere ingresar un valor que no esta dentro de la lista, tengo un código el cual larga un cartel de aviso:

Private Sub Buque_NotInList(NewData As String, Response As Integer)

Dim intReply As Integer

       intReply = MsgBox("El buque/sucursal'" & NewData & _

       "' no está en la lista, quiere agregarlo ?", vbYesNo, "Registrando buque/sucursal")

       If intReply = vbYes Then

          DoCmd.OpenForm "Barcos", , , , acFormAdd, acDialog, NewData

          'Registro añadido cancelamos el procedemiento predeterminado de Acces

          Response = acDataErrAdded

       Else

          MsgBox "Por favor seleccione un buque/sucursal de la lista", vbInformation, "Registrando buque/sucursal"

          'Tratamos el error y decimos a Access que continue

          Response = acDataErrContinue

       End If

End Sub

Entonces, me abre el formulario "Buque" para cargar los datos.

Hasta ahí todo bien.

Pero cuando vuelvo al cuadro combinado, quiero que, en vez de estar buscando el dato nuevo, que se vea directamente sin buscarlo. No se si me explico.

La referencia a localizar se conoce (es el parámetro NewData) por lo que no veo el problema de reclamar el nuevo Item asignándoselo al combo como valor (se supone que es un campo del origen de datos del formulario).

A lo sumo y según las circunstancias/versión, puede ser necesario regenerar el origen del combo (su RowSource) antes de poder asignarlo (Me. Buque. Requery).

Si no lo logras, emulare lo que has publicado para darte una solución (trastear con los combos en tiempo de ejecución, en ocasiones requiere 'mas maña que fuerza').

Respuesta

Le falta esta línea

Me. Buque. Requery

antes de Response = acDataErrAdded

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas