Access - Modificar dinámicamente el valor por defecto en un combo

   
Vista:

Modificar dinámicamente el valor por defecto en un combo

Publicado por Emilio (2 intervenciones) el 10/08/2016 14:16:22
Tengo un formulario donde se introducen los datos de cada remolque de uva que traen a una bodega.
Contiene un combo, que permite seleccionar el depósito donde se vuelca ese remolque.
En tiempo de diseño, puedo decidir que la propiedad 'valor por defecto' del combo, sea por ejemplo el depósito que hace el 6 de la lista:
=[ListaDepositos].[ItemData](6)

Pero eso no dura mucho. Cada X tiempo un depósito se llena y se activa otro. El 6 ya no vale
Lo que necesito es poder cambiar el valor por defecto del combo, en función del 'depósito activo'.
Ese depósito activo lo tengo guardado en una tabla llamada Parametros, en el campo DepActivo

Así que lo que yo querría es sustituir el 6 por el valor de DepActivo. Más o menos así
=[ListaDepositos].[ItemData]([BD]![Parametros]![DepActivo])

Solo que esto no funciona

¿Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Modificar dinámicamente el valor por defecto en un combo

Publicado por Jesús Manuel (202 intervenciones) el 11/08/2016 13:41:34
Prueba con la función DBúsq o DLookUp (depende de donde se coloque)

https://support.office.com/es-es/article/DB%C3%BAsq-funci%C3%B3n-8896cb03-e31f-45d1-86db-bed10dca5937


1
=DLookup("[DepActivo]", "[Parametros]")

Si la tabla Paramentros tiene varios campos, tendrías que indicar la condición para que la búsqueda sea la correcta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar dinámicamente el valor por defecto en un combo

Publicado por Emilio (2 intervenciones) el 12/08/2016 09:32:25
Muchas gracias Jesús Manuel.
La idea funcionó. En lugar de trabajar con índices, podemos usar un valor guardado

Solo una pequeña corrección sintáctica. La sentencia correcta es
=DLookup("[DepActivo]", "Parametros")
o en español
=DBúsq("[DepActivo]", "Parametros")

El nombre de la tabla no lleva corchetes.
Gracias. Me ha venido de lujo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modificar dinámicamente el valor por defecto en un combo

Publicado por Jesús Manuel (202 intervenciones) el 12/08/2016 10:33:15
Haz la prueba y quilate los corchetes al nombre del campo y verás que tampoco es necesario.

Si no me equivoco los corchetes son necesarios si hay espacios en blanco en los nombres de las tablas o los campos, en mi caso, estoy acostumbrado a escribirlos para evitarme problemas.


Por cierto, cuando usas DBúsq tienes que usar como separador ; y no ,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Modificar dinámicamente el valor por defecto en un combo

Publicado por Neckkito (1104 intervenciones) el 12/08/2016 11:33:40
Hola:

Solo como pequeña puntualización respecto de las comas y puntos y comas en funciones como dlookup():

- Si se escriben en VBA, los argumentos siempre van separados por comas.
- Si se escriben como expresiones, irán con coma o con punto y coma dependiendo de la configuración regional (según cómo se tenga definido el carácter separador de listas).

Saludos,

Neckkito
http://bit.ly/neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar