Cambiar imagen de formulario según cantidad de registros y cantidad de Días

Bueno lo que deseo lograr es que por ejemplo que en la tabla pedidos al llegar a 500 registros en el formulario1 se cambien una imagen insertada por otra.. La cual seria la imagen1 por la imagen1.2

Pero esto aquí no acaba, ya que, cuando en la misma tabla al llegar a los 1000 registros realice la misma operación mencionada pero cambiando la imagen2 por la imagen2.1

Lo quiero de esta forma para no limitarme a tan solo el cambio de una imagen dentro de este formulario.

Ademas quiero que abra un formulario al momento de cumplirse uno de estos criterios.

Por ultimo un poco mas complejo creo a mi parecer, seria el cambio de imagen por rango de días. Ejemplo si en un periodo de 10 días a partir del primer registro en la tabla pedidos se logran 10000 registros se cambie también otra imagen en el formulario y que también al momento de cumplir este criterio me abra un formulario. Esta información la tomaría del campo fecha dentro de la tabla pedidos.

Bueno para quienes son astutos ya se habrán dado cuenta lo que busco...

Que es implementar un sistema de logros o trofeos en la base de datos, se que es algo trivial pero me gustaría tener dicho sistema

2 Respuestas

Respuesta
2

No dices como es la tabla, pero vamos a suponer que tiene los campos Cliente y Fecha. Tampoco dices si las imágenes están en el formulario, vamos a suponer que sí. En el ejemplo pongo 4 imágenes como ocultas y están superpuestas. Para no hacer tanto registros se lo digo de 5 en 5 y en el caso de la fecha en vez de decirle que sean mil, le digo que 7

Cuando pulso Enter(para que se cumplan 5 registros

Cambia la imagen y se abre en vista diálogo el formulario. Si sigo poniendo registros cuando la dif de fechas sea 7

y Pulse Enter

Añade la imagen nueva en función de las fechas.

El código es sencillo, pero un poco largo

Private Sub Cliente_AfterUpdate()
Select Case Nz(DCount("*", "tabla1"))
Case Is < 5
Imagen1.Visible = True
Case Is = 5
DoCmd.OpenForm "formulario1", , , , acFormAdd, acDialog
Case Is >= 5 <= 9
Imagen1.Visible = False
Imagen2.Visible = True
Case Is = 10
DoCmd.OpenForm "formulario1", , , , acFormAdd, acDialog
Case Is >= 10 <= 14
Imagen2.Visible = False
Imagen3.Visible = True
End Select
If DFirst("fecha", "tabla1") - DLast("fecha", "tabla1") = 7 Then
Imagen5.Visible = True
End If
End Sub
Private Sub Form_Current()
Select Case Nz(DCount("*", "Tabla1"))
Case Is < 5
Imagen1.Visible = True
Case Is = 5
DoCmd.OpenForm "formulario1", , , , acFormAdd, acDialog
Case Is >= 5 <= 9
Imagen1.Visible = False
Imagen2.Visible = True
Case Is = 10
DoCmd.OpenForm "formulario1", , , , acFormAdd, acDialog
Case Is >= 10 <= 14
Imagen2.Visible = False
Imagen3.Visible = True
End Select
If DLast("fecha", "tabla1") - DFirst("fecha", "tabla1") = 7 Then
Imagen5.Visible = True
End If
End Sub

Tu tendrás que cambiarlo para tus valores.

Respuesta
-1

Lo único que tienes hacer es un si (if) si es entre tal y tal esta imagen, no creo que sea muy difícil.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas