IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Affichage d'alertes à l'ouverture de l'application basée sur la date du jour


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 38
    Points
    38
    Par défaut Affichage d'alertes à l'ouverture de l'application basée sur la date du jour
    Bonjour,

    Je viens vers vous, une fois de plus, pour avoir votre avis.

    J'ai une table contenant des articles avec date de réception, type de produit, et date limite de livraison, alerte (oui/non)
    En fonction du type de produit, la date limite de livraison est variable (date de réception + 5, +10)....

    A l'ouverture de l'application, je souhaite que la liste des alertes s'affichent
    Actuellement, à l'ouverture, une requête est exécutée pour vérifier l'ensemble des enregistrements concernant les produits non envoyés et en fonction du type de produit, et de la date du jour, la case alerte est positionnée à OUI.
    Ensuite,un formulaire affichant la liste des données avec la case alerte positionnée à OUI est affichée.

    Ce fonctionnement est acceptable pour quelques données, mais lorsqu'il y aura 1000 enregistrments à traiter, le lancement de l'application sera long.

    Je pensais sinon afficher directement un formulaire dont les enregistrements seraient issus d'une requête avec un critère dans la date limite de livraison (exemple, si date de livraison - date() < 2)

    Mais du coup, ma case à cocher n'est plus mise à jour.... En même temps, est elle nécessaire.....

    Avez vous un avis sur la question?
    Que feriez vous?

    Merci

    Cordialement

    Gwen

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    Si j'ai bien compris le truc, tu veux à l'ouverture de ta bdd afficher un évènement (req ou form) qui t'affiche les produits dont la date de livraison arrive à terme.
    En clair Date de livraison = Date()
    La date de livraison est calculée sur la base d'une date de réception +/- x jours définis.

    Citation Envoyé par gwenaelthirion Voir le message
    ... à l'ouverture, une requête est exécutée pour vérifier l'ensemble des enregistrements concernant les produits non envoyés tu veux dire non réceptionné ? ...
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 38
    Points
    38
    Par défaut
    Oui, c’est ça… et il faut aussi qu’un champ de l’enregistrement soit positionné à « OUI » (champs alerte)
    Je t’avoue que je ne sais plus trop pourquoi j’ai mis en place ce champs mais il doit y avoir une raison…. Actuellement, l’analyse des dates est effectuée, les enregistrements sont mis à jour, puis, le formulaire est ouvert. Il y a aussi une date calculée à partir de laquelle l’alerte est affichée. Exemple si date limite = date du jour + 2, on commence à alerter.

    Avec du recul, je pense qu’une requête en live basée sur la date est suffisante

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Ton champ alerte (CàC) est peut-être utile pour n'afficher que les produits dont la date de livraison limite est atteinte.
    La logique voudrait que tu sois alerté des que tu atteint la date de réception prévue jusqu'à la date limite de livraison.
    La question est de savoir à quel moment tu souhaites que la CàC soit cochée
    - date de réception prévue
    - date limite de livraison
    - ou entre les 2
    Je pense que si tu coches cette CàC, c'est parce que dans ton processus, tu as besoin de faire une relance et cette relance ne vaut que si tes produits à réceptionner se situent entre date de réception et date de livraison.
    Dans le form qui s'ouvre à l'ouverture de ta bdd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Load()
    Dim sqlStr As String
    Me.TimerInterval = 5000 '5 sec d'attente ouverture 2nd form
    sqlStr = "UPDATE MaTable SET cacAlerte = IIf(Now()>=([dateRec]+[nbJours]),1,0);" 'ici on test que date actuelle a atteint date livraison
    CurrentDb.Execute (sqlStr)
    End Sub
    Private Sub Form_Timer()
    DoCmd.Close
    DoCmd.OpenForm "form2", acFormDS, "", "", , acWindowNormal' form2 affiche en feuille de données les produits en alerte
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 38
    Points
    38
    Par défaut
    C'est un peu ce qui est fait actuellement.
    J'execute 5 requetes en fonctions du type de produit =>En fait, j'ai 5 types avec des délais différents.

    Mais actuellement, j'ai environ 3000 lignes et je trouve que le temps de traitement est long, de l'ordre de 5 secondes. Je pense que les futurs utilisateurs vont "se plaindre" de ce temps de traitement.

    As tu un avis?

    Il faut vraiment que je regarde si je peux me passer de cette case à cocher.... Je n'en suis pas certain, car une fois qu'elle est positionnée, dans une autre partie du programme, j'ai la possibilité d'éditer un certain nombre de liste dont ces fameuses alertes qui sont remontées grâce à ce critère....

    peut être devrais je la supprimer et tous analyser "en live"

  6. #6
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Pourquoi exécuter 5 req ?
    Nous sommes bien d'accord que date livraison = date réception + délai en nb jours ! Cette expression te calcule une date livraison quelque soit le type de produit ! Une seule req devrait suffire. Ou alors un truc m'échappe. Si ta req contient le champ type produit, dans la clause WHERE tu passes un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim sqlStr As String
    Me.TimerInterval = 5000 '5 sec d'attente ouverture 2nd form
    sqlStr = "UPDATE MaTable SET cacAlerte = IIf(Now()>=([dateRec]+[nbJours]),1,0)" 'ici on test que date actuelle a atteint date livraison
    sqlStr = SqlStr & "WHERE typeProd="t1" Or typeProd="t2" Or typeProd="t3" Or typeProd="t4" Or typeProd)="t5";"
    CurrentDb.Execute (sqlStr)
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 38
    Points
    38
    Par défaut
    je vais regarder car en fait, c'est un peu plus "compliqué" que ça.
    en fonction du produit, ne nombre de jours à prendre en compte est différent.

    Exemple,
    produit 1 alerte à date limite -2
    produit 2 alerte à date limite -5

    je vais relire nos échanges ce soir tranquillement et regarder toute ça à tête reposée.

    Il faut que je remonte ces alertes sans que ça mouline de trop ....

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/08/2008, 03h33
  2. Alerte à l'ouverture de la ma base de données
    Par SIENWEST dans le forum Modélisation
    Réponses: 1
    Dernier message: 15/07/2008, 20h58
  3. Réponses: 2
    Dernier message: 04/07/2007, 17h06
  4. Réponses: 5
    Dernier message: 10/05/2007, 19h04
  5. [MFC]Application basée sur des boites de dialogue
    Par -=Spoon=- dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2005, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo