Crear un cuadro combinado con un botón que busque lo seleccionado

tengo un formulario el cual quiero añadirle la opción de búsqueda entre todos sus registros. Ya hice un cuadro combinado que me despliegue los registros y añadí un botón de búsqueda con una macro que me permita buscar el registro al seleccionarlo del cuadro combinado, he seguido tutoriales solamente así que agradecería la ayuda para ver que me falla en esta macro que hice, la condición where completa es: [Formularios]![(TRANSMISION) REGISTRO DE CLIENTES]![REFERENCIA SISA]=[´´] & [Variables temporales]![BUSQSISATRANS] & "´"                  muchas gracias de antemano.

1 Respuesta

Respuesta
3

Esa macro no te funcionará porque tienes la condición WHERE mal expresada.

Intenta con la siguiente expresión:

="[Formularios]![(TRANSMISION) REGISTRO DE CLIENTES]![REFERENCIA SISA]='" & [Variables temporales]![BUSQSISATRANS] & "'"

Ojo con las comillas simples y comillas dobles. Mi recomendación es que copies y pegues la anterior expresión en un bloc de notas para verlo más claro. Por otra parte, ten en cuenta que el signo igual inicial debe ir también en la expresión.

Ya que estamos, un par de consideraciones:

Esa macro tiene la pinta de que podría generarte un error de macro si el combo está vacío. Como veo que la variable temporal parece recoger un valor de texto yo lo que haría sería lo siguiente:

1.- A la hora de definir la variable temporal utilizaría la función Nz(). Es decir (solo lo que está en negrita):

Expresión= Nz([Formularios...];"")

2.- En bloque "Si" cambiaria la expresión que tienes por  (lo que está en negrita)

Si [Variables temporales]...=""

3.- Como de una manera u otra has definido la variable temporal el bloque de acción "QuitarVariableTemporal" lo movería tras el final del bloque SI; esto es, lo pondría después de "Finalizar si"

Otra consideración: asegúrate que el combo te devuelve efectivamente el valor que ves reflejado en el mismo. Si has creado el combo con el asistente y en el origen de datos había alguna clave principal por defecto el valor devuelto por el combo es el valor de la clave principal, aunque tú veas otro valor. Si te funciona, perfecto; si no asegúrate de que el combo está devolviendo el valor que necesitas para darle contenido a la variable temporal.

Un saludo,

Muchas gracias, termine encontrando otra solución para la búsqueda pero también funciona ese seguiré experimentando con la base para ver que más sale. Gracias de nuevo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas