Casilla de Verificación independiente en subformulario

Tengo un subformulario cuyo origen es una consulta de factura pendientes de facturación. Necesitaba tener una casilla de verificación para seleccionar aquellas facturas que me interese para hacerles una modificación mediante código. Como la consulta no se puede modificar, no me vale poner un checkbox porque no lo puedo seleccionar.

He puesto una casilla de verificación pero, claro, me selecciona todos los registros al clickar sobre cualquiera de ellos.

¿Hay alguna forma de hacerlo?

1 Respuesta

Respuesta
2

¿Podrías decir como determinas si una factura está pendiente de facturación?

Me explico, si haces facturas y las guardas en una tabla, ¿qué criterio usas en la consulta para decirle que sólo te muestre las que están pendientes de facturación?

Porque, por ejemplo, podrías usar en un determinado momento

me.nombredelsubform.recordsource="select * from nombre de la tabla where pendiente=true o el criterio que sea"

Y te olvidas de la consulta

Por ejemplo, si tengo la tabla donde los que están pendientes de facturar los tengo marcados, pero podría ser al revés, o que no tuvieran fecha de facturación, etc

Y tengo un formulario con subformulario( que no tendría porque ser así, pero...)

Cuando aprieto el botón, pero podía suprimirse y ponerlo en el evento al cargar

En este caso, el código del botón sería simplemente

Private Sub Comando3_Click()
Me!Facturas.Form.RecordSource = "select * from facturas where pendiente=true"
End Sub

Hola Icue.

Gracias de antemano por tu interés.

Sí, la consulta la tengo realizada así. Uno de los campos es otra casilla de verificación y lo filtro, y ese es el origen del subformulario, pero yo quería ese campo independiente para girar parte de esas facturas. Seleccionar las que quiero y modificar el campo a pagadas y fecha giro. Quiero tener la opción de no girar todas las facturas y seleccionar las que me interese.

Pero es que lo puedes hacer de muchas, muchas formas, todo depende de como quieras hacerlo, por eso te decía que había que concretar más.

Mira, si tengo la tabla Facturas

Y tengo el formulario con el subformulario

Vamos a suponer que le giro la factura, al no saber que fecha de giro le pones, le he puesto que guarde la fecha del sistema. En cuanto marco a Antonio

"Desaparece" de las facturas pendientes y en la tabla

El origen del registro del subformulario tengo puesto

SELECT FechaFactura, Cliente, Importe, Cobradas, FechaGiro, IdFactura FROM Facturas WHERE cobradas=False;

Es decir que sólo muestra aquellos registros en que Cobradas no está "marcada".

Por otro lado, en el evento Después de actualizar de la casilla Cobradas le tengo puesto

Private Sub Cobradas_AfterUpdate()
DoCmd.SetWarnings False
If Cobradas = -1 Then
DoCmd.RunCommand acCmdSaveRecord
DoCmd.RunSQL "update facturas set fechagiro=date() where idfactura=" & Me.IdFactura & ""
Me.Requery
End If
End Sub

Es decir, que si la casilla se "marca" (equivale a yes, True y -1) que guarde el registro, que actualice el campo fechagiro a la fecha del sistema en aquel registro cuya idfactura sea igual al del registro que acabas de marcar. Por último le digo que el subformulario "reconsulte" su origen, que equivale a que no muestre los que ya están marcados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas