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

Access Discussion :

faire une soustraction entre 2 enregistrements


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 17
    Points
    17
    Par défaut faire une soustraction entre 2 enregistrements
    Bonsoir le forum,je suis un "bleu". J'aimerais pouvoir faire une soustraction entre deux enregistrements d'une meme table dont le résultat de cette soustraction sera sur sur un enregistrement de cette meme table.
    J'espere être assez clair ...
    Veuillez m'excusez si ma formulation n'est pas correcte.
    Je vous remercie par avance

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Pas assez précis.
    Quels sont les liens à utiliser entre les enregistrements ?
    date, NumeroAUto, ordre alphabetique,... ?
    Quels champs permettent de désigner les enregistrements concernés ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Excuses-moi, mais c'est une aberration conceptuel de mettre le résultat d'un calcul de deux enregistrements dans un enregistrement de la même table.

    Starec

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Faire une soustraction sur 2 enregristrements
    Dans ma table j'ai trois champs: "Hre d'arrivée" ;" Hre départ " et "Temps".
    Tout les trois sont : types de donnésate/Heure ,format /heure abrégé.
    Je cherche à faire cette soustraction :
    Hre d'arrivée - Hre départ = Temps

    Mais je cherche surtout à apprendre access !Je suis chauffeur de bus et j'essai de créer une base de donnée avec nos horaires (service semaine ,samedi, dimanche et jours fériés)

    En tout cas merci pour vos réponses.

  5. #5
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Il s'agit donc du même enregistrement
    une requete peut mettre à jour ce champ Temps qui doit être de type Texte
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE Table1 SET Table1.temps = CInt((DateDiff("n",[hre départ],[hre arrivée])/1440)) & " jour(s)  " & Format$([hre arrivée]-[hre départ],"Short Time");

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 17
    Points
    17
    Par défaut soustraction entre deux enregistrements
    "helas" merci pour ta réponse !
    Mais voilà mes connaissances sont encore trés limités aussi je ne sais pas comment faire .Je regrette ...
    Je vais faire quelques recherches d'abords dans mon livre puis sur le net mais si tu pouvais ...
    En tout cas merci pour ton aide

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    salut coyote06, alors ce bus, il avance,
    quelques réflexions pour guider tes recherches,
    d'abord suivre le conseil de Starec, a commencer c'est comme pour le permis de conduire vaut mieux prendre les bonnes habitudes.
    donc table avec HeureDép et HeureArrivée puis requête sur cette table et dans une 3eme colonne Temps : HeureArrivée - HeureDépart.
    d'ailleurs si tu met ton calcul dans le champ de ta table Temps, tu seras heureux de voir que ça marche dans ton formulaire, mais dès dès que tu ouvres ta table voilou il a disparou !!!!
    on peut effectivement contourner, par du SQL, du code VBA bien sur mais il vaut mieux éviter si possible.
    autre piste, tu travailles avec un format heure Abrégé, si tu as un parcours qui commence avant minuit et termine après, tu auras une autre surprise avec le format date d'Access, si c'est le cas dis nous-le.
    allez à + et bon courage.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Création d'une base
    Ok, j'ai bossé sur mon projet de base donnée horaire. Car pour apprendre à me servir de access rien de vaut un exercice. Aussi je me permet de vous présenter mon travail. Il est surement pas parfait et loin d'être finis.
    J'aimerais si possible que quelqu'un y jette un "oeil" afin de me corriger.
    Pour pouvoir avancer dans mon aprentissage .
    Fichiers attachés Fichiers attachés

  9. #9
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    la requête de calcul du temps sera donc
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     UPDATE [D Course] SET [D Course].Temps = [Hre d'arrivée]-[Hre départ];
    puisque les temps ne dépassent pas l'heure
    En considerant que la table est ouverte en plein écran
    Créer une macro ExecuterSQL avec le code ci-dessus et l'executer par un menu personnalisé

  10. #10
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je rejoins Starec et LE VIEUX dans leur réflexion sur l'intérêt de stocker le temps de parcours dans ta table.
    En effet, imagine simplement que suite à des modifications de parcours, l'heure d'arrivée soit modifiée, ton temps ne sera plus valable.

    On préconisera la récupération du temps de parcours via une Requête.

    J'ai vu que tu te renseignais dans un livre et sur le net. Profite donc de ton passage sur DVP pour lire ces quelques articles qui te permettront de partir d'un bon pied.

    Conception
    Relation et jointures

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,

    L'idée que j'ai c'est de créer une requête à partir de la table D course, tu vas inséser tous les champs que tu veux dans cette requête, et tu vas ajouter un nouveau champ qui va avoir comme nom:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exp1:[D course]![Hre d'arrivée]-[D course]![Hre départ]

    C'est tout, quand tu exéute tu auras le rasultat dans ce nouveau champ, mais le problème c'est que si c'été du type numérique c'est bon, mais puisque le type est Date/Heure, alors la il considère les minutes comme nombre apres la virgule.

    Bonne chance.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Soustraction entre deux enregistrements
    Tout d'abords MERCI a tous !!!
    Je vais travailler sur vos remarques et conseils.
    Il bon de savoir que l'on peux compter sur de l'aide ausssi a nouveau "Merci"

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

Discussions similaires

  1. Faire une copie de mon enregistrement avant suppression
    Par chabagrou dans le forum Access
    Réponses: 1
    Dernier message: 11/10/2006, 17h10
  2. faire une différence entre deux tables
    Par geay dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/09/2006, 15h33
  3. Réponses: 4
    Dernier message: 22/08/2006, 11h20
  4. Réponses: 2
    Dernier message: 22/01/2006, 01h11
  5. Faire une division entre deux chiffres?
    Par shun dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/09/2005, 16h37

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