Ver subformulario ya filtrado al entrar, para que los datos dentro siempre sean del dia de hoy.

Disculpen las molestias.

Como menciono en el titulo, necesito poder ver un subformulario (subformulario_monitoreo) ya filtrado al entrar al formulario (monitoreo) por el dia de hoy.

Es decir, en ese subformulario se cargan datos relacionados al monitoreo de envios y tiene que mostrar solo los de hoy y el resto no mostrarlos o llevarlos a una tabla (el subform saca los datos desde una consulta).

2da pregunta:

Como puedo hacer para que una vez que se selecciona una opcion de un combo ya no se puedan hacer cambios a esa "fila". Ej: Seleccionas "entregado" y ya no podes cambiar los datos de ese pedido.

1 Respuesta

Respuesta
1

Si abres el formulario que hace de subformulario en vista diseño y sacas sus propiedades -> pestaña Datos, verás que hay una que se llama "Filtro". Si en ella pones: [NombreCampoFecha]=Fecha(), y en la siguiente propiedad, "Filtrar al cargar", le pones Sí, ya lo tienes.

Otra forma sería hacerlo por código, por ejemplo en el evento "al cargar" del formulario que hace de subformulario, le generas el código:

Me.Filter="NombreCampoFecha=Date"

Me.FilterOn=True

En cuanto a la segunda pregunta, en el evento "al activar registro" del formulario donde tengas el combo, le pones:

Me.AllowEditions=IIF(Me.NombreCombo="Entregado",False,True)

Y para que al elegir ese valor en el combo ya te bloquee el registro actual, en el evento "después de actualizar· del combo, le pones el mismo código otra vez.

Recibir una respuesta de usted o de Neckkito es como recibir la palabra santa para un joven aficionado de habla hispana. Muchísimas gracias, como en todas tus respuestas que has dado y en la página que tienen ( https://nksvaccessolutions.com/), muy muy precisa y bien explicada. Gracias. 

Un placer echar una mano.

Disculpa las molestias nuevamente Svenbjorn, pero al ejecutar "Me.AllowEdits=IIF(Me.NombreCombo="Entregado",False,True)", me bloquea todos los registros de toda la hoja de datos. Mala mia por no comunicar que es un formulario con vista hoja de datos y tiene que bloquear solo 2 campos "Comercio" y "Repartidor" de ese registro con id unico.

Probe con: 

Private Sub Form_Current()
   If me.Estadodeenvio= 1 or 2 or 3 Then
        Me.estadodeenvio.Locked = False
    Else
       Me.estadodeenvio.Locked = True
    End If
End Sub

pero sigue sin funcionar correctamente, los campos que debe bloquear son todos combos.

 Desde ya muchas gracias y te pido disculpas nuevamente por las molestias.

Por el códido que dices has probado, parece que tu combo no devuelva un valor "Entregado", sino que devuelva un número para ese "valor", por ejemplo el 3. En ese caso la instrucción sería:

Me.AllowEdits=IIF(Me.NombreCombo=3,False,True)

Pero si no indicas esas cosas, yo no las puedo saber para darte una buena respuesta...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas