Access - GUARDAR CAMPO

 
Vista:

GUARDAR CAMPO

Publicado por Roberto (145 intervenciones) el 31/01/2007 11:43:17
Hola a todos. Mi problema es el siguiente: Tengo un informe de artículos en el que quiero que aparezca un Asterisco delante de los artículos que cumplan una determinada condición. La condición es que un valor(que puedo introducir directamente o a traves de una variable) este comprendido entre los dias transcurridos entre dos fechas. Estos días ya los tengo calculados y en ese tema no hay problemas. Mi problema es cuando estoy metiendo el codigo y le digo en la condición que si esa diferencia de dias entre fechas esta comprendida entre 0 y ese valor en concreto. Si introduzco el valor directamente en el código no me da problemas. Pero si lo hago como yo quiero que es a traves de un campo o un cuadro de texto o a traves de un campo de otro formulario, es entonces cuando no marca los asteriscos correctamente. Mi pregunta es, hay alguna manera de hacerlo usando un valor externo a los del informe.
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
Imágen de perfil de Alejandro

Mostrar Asteriscos basados en valor externo

Publicado por Alejandro (4142 intervenciones) el 02/08/2023 17:10:24
1. Primero, asegúrate de que tienes un campo en tu informe que muestre el número de días transcurridos entre dos fechas. Puedes llamar a este campo "DiasTranscurridos" por ejemplo.

2. Luego, crea un formulario separado (puede ser un formulario emergente o un formulario independiente) que contenga un cuadro de texto o control de entrada donde puedas introducir el valor que deseas usar para filtrar los artículos con asteriscos.

3. En el formulario del informe, puedes utilizar una función personalizada (VBA) para mostrar el asterisco basado en el valor introducido en el formulario externo. Aquí te muestro un ejemplo de cómo hacerlo:

Dentro del código VBA del informe, abre el editor VBA presionando Alt + F11 y luego inserta el siguiente código:

1
2
3
4
5
6
7
8
' Función personalizada para verificar si se debe mostrar el asterisco
Function MostrarAsterisco(dias As Integer, valorLimite As Integer) As Boolean
    If dias >= 0 And dias <= valorLimite Then
        MostrarAsterisco = True
    Else
        MostrarAsterisco = False
    End If
End Function

4. Ahora, en el informe, donde desees mostrar el asterisco, coloca un control de texto y configura su origen de control para que utilice la función personalizada que acabamos de crear. Supongamos que tienes un campo llamado "NombreArticulo" donde deseas mostrar el asterisco. Asegúrate de que el formato del control sea "Rich Text" para que pueda mostrar el asterisco en negrita.

En el origen de control del control de texto, puedes utilizar la siguiente expresión:

1
=IIf(MostrarAsterisco([DiasTranscurridos], [Forms]![TuFormularioExterno]![TuCampoValorExterno]), "*" & [NombreArticulo], [NombreArticulo])

Reemplaza "TuFormularioExterno" con el nombre de tu formulario externo que contiene el cuadro de texto con el valor deseado. Del mismo modo, reemplaza "TuCampoValorExterno" con el nombre del cuadro de texto o control de entrada que contiene el valor que deseas utilizar para filtrar los artículos con asteriscos.

Con esta configuración, cuando abras el informe, se evaluará la función personalizada para cada artículo y se mostrará un asterisco delante de aquellos que cumplan la condición basada en el valor externo que has introducido.
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