Access - Variable no coge el valor de cuadro combinado

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Variable no coge el valor de cuadro combinado

Publicado por Francisco José (3 intervenciones) el 03/09/2019 12:10:50
Buenos días, primero agradecer a todos los colaboradores de este foro todo lo que he ido aprendiendo gracias a ellos, practicamente cualquier duda que he tenido la he resuelto consultando al foro.

En este caso desearia hacer una pregunta directa, ya que no he encontrado algo parecido en el foro.

Tengo el siguiente código gracias a este foro (Busqueda Like Google), modificado por mi en un evento change

Dim strFullList As String
Dim strFilteredList As String


10 If blnSpace = False Then
20 Me.Refresh
30 strFullList = "SELECT Id, EXPEDIENTE, EMPRESA FROM IDENTIF_EMPRESA WHERE ESTADO Like Me.EstadoBusq.Value ORDER BY EXPEDIENTE;"
40 strFilteredList = "SELECT Id, EXPEDIENTE, EMPRESA FROM IDENTIF_EMPRESA WHERE ESTADO Like Me.EstadoBusq.Value AND EXPEDIENTE LIKE ""*" & Me.txtSearch.Value & "*"" OR [EMPRESA] LIKE ""*" & Me.txtSearch.Value & "*"" ORDER BY EXPEDIENTE"
50 fLiveSearch Me.txtSearch, Me.lstItems, strFullList, strFilteredList, Me.txtCount
60 End If

El problema es que necesito capturar el valor de EstadoBusq para introducirlo en la condición, EstadoBusq es una selección de un cuadro combinado llamado EstadoBusq, pero el código no reconoce dicha variable y me la pide una y otra vez, si la introduzco a mano el codigo funciona perfecto, filrando la busqueda adecuadamente.

Espero vuestra ayuda y gracias de antemano
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

Variable no coge el valor de cuadro combinado

Publicado por Anonimo (3316 intervenciones) el 03/09/2019 14:24:59
Para que Access pueda manejar un objeto necesita conocer su ubicación espacial y esta puede dársele de dos formas:
.- Referencia absoluta
.- Referencia relativa

Ambas son validas y útiles pero cada una tiene sus ventajas e inconvenientes y a cada una ha de tratársela de la forma correcta.

Una ruta relativa es la que se esta utilizando:
Me.EstadoBusq.Value

La misma en su 'status' absoluto seria algo como:
Forms.MiFormulario.EstadoBusq.Value
(la propiedad 'Value' es la que tomara por defecto y es prescindible en un 98% de los casos)

La ruta absoluta la puede reconocer en cualquier parte, la ruta relativa necesita ser evaluda (tiene que tarducir ese 'me' por lo que representa que dado que es el equivalente a una variable) por lo que se deberia escribir asi:
…. MPRESA WHERE ESTADO Like " & Me.EstadoBusq.Value & " ORDER BY ......

En la practica consiste en 'sacarla' de la expresión ya que lo que esta delimitado por comillas simples o dobles no será evaluado, será considerado un texto, texto que ya analizara el motor de Access en tiempo real (pero .... no se puede ir 'para atrás' en el tiempo para conocer a que entorno referencia a ese 'me')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Variable no coge el valor de cuadro combinado

Publicado por Francisco José (3 intervenciones) el 04/09/2019 09:08:41
Muchísimas gracias, me ha quedado claro lo de las rutas relativas y absolutas y ya me funciona.
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