Visual Basic para Aplicaciones - Filtrar subformulario continuo

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Filtrar subformulario continuo

Publicado por Jeison David (6 intervenciones) el 05/09/2014 20:14:20
Hola amigos del foro espero estén bien. Quisiera saber si me pudieran ayudar en mi problema, estaré muy agradecido si alguien puede ayudarme a resolver la duda que tengo, gracias de antemano.

* Tengo un formulario principal y un Subformulario dentro de este.
* El formulario principal tiene 4 cuadros de texto: txt_código. txt_versión. txt_nombre. txt_status_de_la_licencia.
* El Subformulario tiene 2 cuadros de texto: txt_licencia txt_status.
* El nombre de mi formulario es "SOFTWARE"
* El nombre de mi subformulario es "SOFTWARE LICENCIAS"
* La vista predeterminada del subformulario es : formulario continuo.
* El formulario principal esta vinculado con el Subformulario en una relación uno a muchos, es decir por cada código y versión del software, este tendrá muchas licencias.
* El cuadro de texto txt_status del subformulario SOFTWARE LICENCIAS es un cuadro combinado con 2 valores INSTALADA y DISPONIBLE

Mi problema es que quiero hacer un botón que me filtre el subformulario de licencias según lo que el usuario introduzca en el campo del formulario principal txt_status_de_la_licencia, es decir si el usuario coloca DISPONIBLE, quiero que me aparezca en el subformulario en el cuadro de texto txt_status todos los registros de licencias de ese producto que su status sea DISPONIBLE.

hasta ahora mi código es el siguiente:

Private Sub filtrar_licencias_disponibles_Click()

Dim lic_fil As String ' variable para guardar el filtro que vamos a realizar
lic_fil = "DISPONIBLE = " & Me.SOFTWARE_LICENCIAS.Form!txt_status_de_la_licencia
Me.SOFTWARE_LICENCIAS.Form.Filter = lic_fil
Me.SOFTWARE_LICENCIAS.Form.FilterOn = True

End Sub

me da error en la linea donde asigno a la variable del filtro y nose que esta mal, será que alguien me puede orientar y ayudar? gracias de antemano saludos.
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
sin imagen de perfil
Val: 24
Ha disminuido su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Filtrar subformulario continuo

Publicado por tresy unah (46 intervenciones) el 10/09/2014 22:48:49
Estimado Jeison:
Creería que no es necesario que tengas un subformulario y un formulario.
Tu subformulario debe ser un form que se abra cuando en el form Software hagan clic en el botón.
El tema del cuadro combinado, no debe estar en el subform, sino en el form.
Ahora bien: el código del botón debería ser el siguiente al evento clic:

docmd.openform "software licencias",,,,(no se cuantas comas deben ir hasta llegar a la condición Where, serán 2 o 3, fíjate), " txt_status=forms!software!txt_status_de_la_licencia"

Respeta las comillas!!!, que es lo que va en la condición Where de la expresión do.cmd

Es decir, son 2 formularios independientes, a mi criterio, ya que en el form no hay campos coincidentes con el subform. Noi siquiera es necesario que tengan una relación 1 a varios. Un subform sin campos en común con un form, es un form independiente. Lo que muestre el form en ningún momento será mostrado en el subform. Para que lo haga, en las propiedades del objeto subform (haz clic en la periferia del subform (como si quisieras moverlo con las teclas de dirección), tienes que indicar cuales campos principales y secundarios vinculan uno y otro. Así que no tiene sentido que sea subformulario de un form si no hay campos en común. Este puede ser uno de los motivo de tu error. El otro, ya te digo, es que el cuadro combinado debe estar en el form. (y sólo de gusto tienes uno, ya que el usuario sólo puede poner Disponible/instalada), pero bueno, mejor que elija y no que ponga una h entre medio o algo así.
El código que te escribo, lo que dice es que al hacer clic debe abrir el form "software licencias" (quítalo como subformulario, déjalo libre) en cuyo campo txt_status figure disponible (que es lo que el form dice o debe decir en el campo txt_status_de_la_licencia.
Por favor, escríbeme si te ha servido, o si no te ha servido. Por las dudas, esto es gratis Mano....
Mi mail aparece, creo en el mensaje.
Pude ver que tienes otra duda, más incomprensible de lo que describes en esta. Aclárame si quieres (o puedes) lo que necesitas en esa. Algo de pasar los valores de un subform a una variable. MMMM, cosa rara, creo.

Tresy Unah
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