Formulario Continuo después de filtrar, como vaciar campo?

Tengo un formulario que es para hacer presupuestos y dentro tengo un subformulario con el detalle de la venta. Introduzco el nombre de cliente en el formulario principal y luego paso al subformulario para introducir el articulo a presupuestar.

En el campo artículo, tengo puesto el siguiente código para poder filtrar:

En el cuadro combinado hay tres campos: Id_ARTICULO, Definición y Pvp

Private Sub cmb_Id_ARTICULO_AfterUpdate()
Me.PRECIO_UNIDAD = Me.cmb_Id_ARTICULO.Column(2)
Me.CANTIDAD = 1
End Sub
Private Sub cmb_Id_ARTICULO_Change()
  Me.cmb_Id_ARTICULO.RowSource = "select Id_ARTICULO,Definición,Pvp FROM ARTICULOS where strconv([Definición],2,1042) " & _
  " like '*" & StrConv(Me.cmb_Id_ARTICULO.Text, 2, 1042) & "*' ORDER BY Definición"
    Me.cmb_Id_ARTICULO.Dropdown
End Sub

Después de realizar el filtrado y seleccionado el articulo que quiero vender, poner los campos cantidad y precio correspondientes, me funciona correctamente en el primer registro, cuando voy al segundo registro, se me queda el valor del primero que he seleccionado. No sé hacer que el primer registro mantenga lo que he seleccionado anteriormente y en el siguiente me deje realizar un filtrado normal como hago en el primer registro. Así se me muestra el formulario después de filtrar:

En el segundo registro solo se me muestra el mismo valor que el primero.

No sé como hacerlo.

2 Respuestas

Respuesta
1

El diseño tiene un problema sin solución.

Si comparten el combo todos los registros y se filtra el combo por un valor, solo podrá mostrar datos que estén entre los filtrados, los que no estén en el nuevo origen del combo no se podrán mostrar (y eso ocurrirá para cualquier filtro y cualquier registro).

Respuesta
1

No sé como lo haces, pero si tengo un formulario con subformulario, y en el combinado Producto escribo una cadena del nombre de un producto. Por ejemplo, escribo una t

Me muestra todos aquellos productos que tienen una t en su cadena de nombre. Si ahora escribo una i, me reduce los valores que muestra el combinado a aquellos productos que tienen la cadena ti en su nombre

Selecciono lo marcado en negrita y me voy al siguiente registro

Y se repite el proceso, me va "filtrando" según escribo letras.

Y el código del evento Al cambiar del cuadro combinado Producto es

Private Sub Producto_Change()
DoCmd.SetWarnings False
Producto.SetFocus
Producto.RowSource = "select producto from productos where producto like '*" & Me.Producto.Text & "*'"
Producto.Dropdown
Producto.SetFocus
End Sub

Personalmente, no pondría el precio del producto en el combinado ¿para qué?, siempre puedo usar en el evento Después de actualizar del combinado

Precio=dlookup("precio","productos","producto='" & me.producto & "'")

Cantidad. Setfocus

Muchisimas gracias por la respuesta, me ha ido perfecto todo gracias a tu ayuda.

No sé si es mucho preguntar, pero no puedo utilizar las flechas arriba y abajo para poder moverme por el cuadro combinado y seleccionar el registro que me interesa, tengo que seleccionarlo con el ratón. Se puede hacer que se puedan utilizar las flechas? No me quita el sueño si no se puede hacer.

Si no pongo código en el cuadro combinado, me deja navegar con las flechas.

Saludos y muchas gracias.

Si pongo una l

Puedes ver que los langostinos se ven( pero no se tocan, al precio que están) y si pongo el cursor en lo señalado por la flecha y pulso la punta de flecha hacia abajo puedes ver como se desplazan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas