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 :

Actualisation écart de dates


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut Actualisation écart de dates
    Bonjour,

    J'ai au niveau de mon formulaire access une zone de texte qui contient l'écart entre deux date (la date système au moment de l'enregistremen et la date de la commande), je voudrais savoir comment faire pour incrémenter cette écart au fur et à mesur de lécoulement des jours sachant que cette écart doit toujours mentionné la date système-date commande.

    Voilà le 1er code que g fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim nb_jour As Integer
    nb_jour = (Date - Forms![Traitement]![Date_cmd]) + 1
    Forms![Traitement]![Ecart] = nb_jour
    Bonne soirée

  2. #2
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    Salut, regarde du côté de ce tuto http://mhubiche.developpez.com/vba/f...ions/datetime/ sur les dates. La fonction DateDiff peut notamment t'être utile. De mémoire il y a aussi un exemple d'utilisation de cette fonction dans la FAQ.
    Bon courage

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    Bonjour!

    Alors pour que l'écart s'actualise au cours des jours j'ai mis au niveau de la table "commande" valeur par défaut de "Ecart"est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff("d",Date(),Date_cmd")
    Mais ça me sort un message d'erreur comme quoi il ne reconnait pas Date_cmd

    Que faire?

  4. #4
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    c'est normal tu as des guillemets en trop avant la parenthèse !!

    De plus as-tu réellement besoin de stocker "ecart" dans ta table commande car c'est un peu redondant à mon sens. En effet tu peux obtenir l'écart en le calculant à chaque fois que tu en as besoin en récupérant la date_cmd dans ta table.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    nn nn désolée c t juste une erreur de frappe, je né pas de parenthèse en plus. Et il me faut absolument l'écart au niveau de la table pour maintenir les états de retard de livraison à jour.

  6. #6
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Et pourquoi tu ne ferrais pas tes états de retard à partir d'une requête plutôt qu'à partir de ta table? Comme ca tu calcules directement ton écart dans ta requête et tu n'as plus besoin de la donnée dans ta table.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    et j'insère DateDiff()dans la requete SQL!!!?

  8. #8
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Perso j'ai essayé un code tu type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Cdate(Date())-[table]![date_origine] AS Retard FROM Table WHERE [table]![date_origine]<>0
    Ca fonctionne chez moi!

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    Re!

    Voilà, là j'ai modifier la requete qui me donne les commandes en retard comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *,Cdate(Date())-Date_cmd AS Ecart 
    FROM Commande
    WHERE Mode_transport="Avion" AND Ecart>10;
    Mais il ne reconnais pas Ecart!!

  10. #10
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Réécris ta formule plutôt que le nom dans ta condition, ca devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *,Cdate(Date())-Date_cmd AS Ecart 
    FROM Commande
    WHERE Mode_transport="Avion" AND (Cdate(Date())-Date_cmd )>10;

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    On m'affiche un msg:

    "Type de données incompatible dans l'expression du critère"


  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    En fait, la fonction Cdate() elle retourne quel type?

  13. #13
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    CDate c'est "Conversion en Date", donc elle retrourne une date.
    Mais normalement une soustraction de dateqs doit donner un entier (mais je peux me tromper) sinon, tu peux toujorus encadrer ta fonction par un Cent() pour convertir en entier.
    Ce que tu peux aussi faire, c'est executer ta requête sans le critère pour voir ce qu'elle renvoie au champ Ecart.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    Cent n'a pas marcher!

    Aussi g supprimer le 2ème critère et ça maffiche tjr le msq derreur!

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 32
    Points
    32
    Par défaut
    Coucou! C'est non

    J'ai réussie à déblocker le problème: au niveau du mode de transport, le champ puisé ses valeurs dans une autre table et il fallait mettre une jointure!!!!

    voici le code correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DATEDIFF("d",Date_cmd,Date()) AS Ecart, *
    FROM Commande, Mode_transport
    WHERE Commande.Mode_transport=Mode_transport.ID AND Mode_transport.ID=3 AND DATEDIFF("d",Date_cmd,Date())>10;
    J'éspère que ça vous sera d'une certaine utilité.

    Bonne soirée
    et Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver les lignes en fonction d'un écart de date
    Par StringBuilder dans le forum SQL
    Réponses: 11
    Dernier message: 20/02/2012, 20h49
  2. Calcul d'écart de date (année, mois, jour,etc)
    Par le.dams dans le forum Access
    Réponses: 7
    Dernier message: 08/01/2011, 17h47
  3. Proportion entre écarts de date
    Par jeanluc8 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/07/2010, 15h19
  4. Calcul d'écart de date dans BO
    Par tang121 dans le forum Deski
    Réponses: 8
    Dernier message: 20/12/2007, 09h43
  5. Requète: recherche d'écarts entre dates de commande
    Par alexandre.babey dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/05/2007, 21h12

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