Programar informe para dar avisos

Quisiera saber de casualidad si hay forma de programar un informe para dar avisos con respecto de una celda

asas

Este es el informe hay una celda que dice salido si la celda esta con un circulo negro adentro quiere decir que ya salio y si no quiere decir que aun esta en el almacen la cuestión es que hay productos que duran mucho tiempo entonces quisiera que aquellos que lleven más de un mes no hayan salido el informe me mande el mensaje de que no han salido aun.

Los productos que no han salido están a nombre de un cliente no se si eso lo complique más espero me puedan ayudan el mensaje que me gustaría seria

El cliente xxxxx tiene el producto xxxx que no a salido y lleva más de un mes

Si me pueden ayudan solo con un código o algo que yo me las ingenio gracias por su atención

1 respuesta

Respuesta
2

Hernán: Aprovecha el Formato condicional que te ofrece el propio Access.

Mira este par de ejemplos que tengo en Mediafire

http://www.mediafire.com/file/w9vg13u7o2p1y4u/FormatoCondicional.rar 

http://www.mediafire.com/file/jgnrwz61je6e9k5/FormatoCondicionalConCheck.rar 

Un saludo >> Jacinto

No la verdad me gustaría algo por código cosa que cuando abra el informe lance un mensaje que diga cuales han pasado de la fecha limite

Hernán: El VBA permite hacer muchas cosas y entre ellas es mandarte un mensaje condicionado a una situación. La verdad es que me hablas de un Informe y a mi me parece ver un Formulario y además continuo. Personalmente no lo he hecho nunca en Informes, pero si eso está en la seccion de Detalle, en el Evento al dar Formato le puedes poner un condicional, pero según yo lo veo si hay 200 productos en esa situación, te va a lanzar 200 mensajes.

Otra solución sería concatenar todas las referencias que haya en esa situación, guardarlas o no en una Tabla temporal y lanzar un mensaje con ese texto.

Te veo convencido con esa idea y si yo tuviera que hacerlo, como gestionador de un tema así, optaría por la solución que te apuntaba en mi primera respuesta, y las que ahora te recomiendo, que para mi son las más adecuadas para un gestor.

Es justo confeccionar el informe de aquellos productos que cumplan esa condición. Puedes hacer una Consulta y sobre ella el informe.

Otra solución que es la más simple, es filtrar el informe al pedirlo, por antigüedad y por Salido = 0, o False.

Si quieres decirme: Nombre de tu informe, Nombre del Campo Salido, si es que se llama de otra manera. Nombre del Campo de Fecha que tienes y el Formato.

Con esos datos te escribiría unas líneas muy aproximadas.

Un saludo >> Jacinto

Solo te apunto la idea y si tu solución pasa `por ahí me comentas.

Hernán: Dado que aquí ya es tarde y hasta mañana no vería tu mensaje, te adelanto como filtrar el informe que dices tener.

En el Formulario desde donde ahora pidas la apertura de ese informe, le pones >>

Un cuadro de Texto que para el ejemplo llamo >> TxtFechaAntig para poner desde la Fecha más antigua que quieres mostrar

Un botón de comando que llamo >> BtnInfObsoletos

Y como ves en el Evento Click

Private Sub BtnInfObsoletos_Click()
Dim FiltroSalido As String,FiltroFecha As String, FiltroTotal As String
FiltroSalido = "Salido = 0"
FiltroFecha = "TuCampoFecha >=#" & Format(Me.TxtFechaAntig, "mm/dd/yyyy") & "#"
FiltroTotal = FiltroSalido & " AND " & FiltroFecha
DoCmd.OpenReport "NombreDeTuInforme", acPreview, , FiltroTotal
End Sub

Tedrás que cambiar los Nombres de >> NombreDeTuInforme y TuCampoFecha por los que tengas en el Informe y su Origen de Datos. Mis saludos >> Jacinto

Hola jacinto

Me funciono para filtrar la de salido pero la parte de fecha

Necesito es saber los que están pasados de un mes entonces el código no se como hacerlo es que es para ver los que están pasados de 30 días por favor ayúdame con eso solo es cambiar el código de fecha para que filtre los pasados de un mes osea 30 días es que me sale mucho mejor así porque con el filtrado de salido y el de fecha son pocos los productos que salen y así puedo hacerlo más rápido espero me puedas ayudar

Hernán: En mi código hay un Error, que simplemente cambiándolo, y haciendo el proceso que te cité, será más flexible que lo que me comentas, aunque te doy la alternativa, para que filtres todos los que tienen la condición de salido en No y la fecha es de más de 30 días.

Para el error, lo único que has de cambiar es el signo > por <, quedandote esa línea así.

FiltroFecha = "TuCampoFecha <=#" & Format(Me.TxtFechaAntig, "mm/dd/yyyy") & "#"

De ésta manera si quisieras ver todos los que tienen una antigüedad mayor de 30 dias, bastariá con poner en ese Control de Fecha 17/06/2017

La alternativa que al parecer prefieres, es muy parecida y solo cambia parte de esa línea quedándote así

FiltroFecha = "TuCampoFecha <=#" & Format((Date-30), "mm/dd/yyyy") & "#"

Espero que con ésto puedas resolverlo. Un saludo >> Jacinto

jacinto me sale error de sintaxis (falta operador)en la exprecion de consulta fecha entrada< =#06/17/2017#".

Acá te pongo el código para que lo veas


Private Sub Comando178_Click()
Dim FiltroSalido As String, FiltroFecha As String, FiltroTotal As String
FiltroSalido = "salido = 0"
FiltroFecha = "fecha entrada <=#" & Format((Date - 30), "mm/dd/yyyy") & "#"
FiltroTotal = FiltroSalido & " AND " & FiltroFecha
DoCmd.OpenReport "inf clientes", acViewReport, , FiltroTotal
End Sub

Te puse en negrita la línea de código que pone en amarillo

No se que me hará falta

Hernán: Si tu campo de Fecha, se llama tal como dices, has de encerrarlo entre corchetes

FiltroFecha = "[fecha entrada] <=#" & Format((Date - 30), "mm/dd/yyyy") & "#"

La costumbre de poner Nombres separados en Access tiene algunos inconvenientes y uno es ese.

Con lo bien que queda >> FechaEntrada o FechaE... Un saludo >> Jacinto

¡Gracias!

Jacinto compañero sumerce es un duro con todo respeto me salio genial gracias por la ayuda me sirvió mucho muchísimas gracias

Hernán: Me alegra que hayas podido resolver ese problema. Si vas de acuerdo y valoras la respuesta, perfecto. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas