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

Modélisation Discussion :

Aide pour une gestion de carburant [AC-2007]


Sujet :

Modélisation

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut Aide pour une gestion de carburant
    Bonjours,

    Je suis débutant et je cherche une solution à mon problème.

    Avec un formulaire je rentre des données concernant des véhicules et pour faire un suivis de consommation de carburant il faudrait que je récupère le kilométrage précédemment entré pour faire le calcul de consommation dans une requête.

    Pour être un peu plus précis.
    Actuellement je rentre les données dans mon formulaire qui me les met dans une table "table 1".
    je lance une requête d'ajout qui me récupère des données d'une autre table "tb_données" et me les inclus dans une nouvelle table "tb_final".
    Ensuite je classe ma table"tb_final" par immatriculation et date du plein je repère les kilométrages rentré avant et les recopie manuellement dans la nouvel ligne créé par la requête d'ajout.
    et enfin je relance une nouvelle requête ou le calcul des consommations est fait.

    Tous cela est fastidieux alors je suis preneur de tout ce qui pourrait me faciliter la tache mais en priorité j'aimerais que le kilométrage précédent soit recopié automatiquement sans que j'ai a le ré entré manuellement.

    Merci d'avance pour l'aide apporté.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Vois un petit exemple en annexe.

    L’idée

    Une table qui contient l’idCamion, le Kilométrage lors du plein, le nombre de litres.
    Un formulaire :
    - l’utilisateur choisit le camion ;
    - une date initiale de plein ;
    - une date postérieure de plein.

    => Le formulaire renseigne le kilométrage parcouru entre les deux pleins et la consommation moyenne aux 100 km.

    Examine particulièrement les propriétés des zones de liste du formulaire et le code qui est associé à leur événement : « Après mise à jour ».

    Examine les différentes requêtes.

    Essaie de comprendre en lisant les commentaires du code et en consultant l’aide Access.

    Dans la liste des propriétés d'un formulaire ou d'un état :
    tu cliques sur une propriété => elle se met en surbrillance => tu enfonces la touche <F1> => l'aide Access s'ouvre à la bonne page.

    Dans un module de code :
    tu insères le curseur de la souris dans un mot-clé => tu enfonces la touche <F1> => l'aide Access s'ouvre à la bonne page
    On peut aussi :
    - ouvrir l’aide <F1>, choisir l’onglet « Aide intuitive » et suivre les instructions.

    Dans un deuxième stade, on pourra remplacer les requêtes par du code.

    Reviens si tu rencontres des difficultés pour comprendre.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Déjà merci pour l'aide

    Mais malheureusement ça ne correspond pas vraiment a ce que je voudrais faire.

    je vais donc réexpliquer ce que je veux faire.

    En gros je reçois une facture de carburant
    1 table rempli avec le formulaire
    numéro de carte utilisé pour faire le plein, la date du plein, la quantité de carburant, le kilométrage au moment du plein.

    Chaque carte carburant est affecté a un véhicule
    2 table avec les correspondances "tb_données"
    numéro de carte, immatriculation, marque du véhicule, modèle du véhicule, consommation théorique

    Ma requête d'ajout
    Qui me redonne toutes les infos dans une table "tb_final"
    et me classe les données
    ensuite actuellement j'ouvre "tb_final" puis je retrouve les endroits ou il me manque le km précédent et le rajoute manuellement

    dernière requête
    qui m'affiche tout et me calcul les conso de carburants
    ensuite si j'ai besoin d'info je n'ai plus qu'a trier la requête

    j'y ai mis un comparateur entre la conso réel et la conso théorique

    diff conso: [Conso Réel]>[tb_données]![Conso théorique]+[tb_données]![Conso théorique]*0,2

    il m'affiche 0 quand je n'ai pas de surconsommation et -1 lorsqu'il y en a une

    voila je pense avoir exposé clairement ce que je fais actuellement
    et donc maintenant ce que je voudrais faire au final

    je prend ma facture je rentre les pleins via un formulaire comme actuellement mais une fois fini ça m'affiche si j'ai un problème de surconsommation ou le kilométrage qui n'est pas bon etc...

    Je vais tout de même regarder plus en détail le fichier que vous avez mis pour en apprendre un peu plus sur access

    Merci pour votre aide mais je pense vous aller devoir réitérer encore désolé du dérangement mais merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Je crois que tu peux t'en sortir avec 2 tables :
    - un signalétique "Camions" (caractérisques + N° de la carte carburant + la consommation théorique "normale" aux 100 KM)
    - le relevé des pleins (tel que tu le décris).

    Veux-tu que nous le fassions ensemble ?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Un peu d'aide ne serai pas de refus

    en regardant comment tu as fais le premier fichier j'ai déjà compris pas mal de chose surtout comment récupérer une info rentrer d'un formulaire actuel puis en afficher une autre

    en gros je dois partir sur un formulaire qui en le remplissant doit aller chercher les informations dans les 2 tables pour remplir la première ?

    houla je sais pas si je suis bien compréhensible la.

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Pour faciliter le dialogue, peux-tu poster une BDD compatible Access2000 avec
    - une table qui contient les données "Camions" (avec N° carte et consommation standard aux 100 KM)
    - une table qui contient des données de consommation de carburant.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    voila qui est fait

    j'ai remis des info bidon dedans

    Merci encore du coup de main.
    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Précaution oratoire
    Le but n’est pas de faire le boulot à ta place, mais de te mettre le pied à l’étrier.
    Je pars du principe que tu es débutant et que tu as envie de progresser, cela va te demander un certain effort.
    Cette discussion doit rester accessible à d’autres débutants intéressés par le sujet.

    Remarques générales
    - Prends l’habitude de nommer les objets et les contrôles de manière explicite et sans caractères spéciaux (espace, accents...).
    Exemples :
    « Base de données1.mdb » => « GesCarbu.mdb »
    « 1 Table 1 » => « tConsom »
    « tb_données » => « tVehicules »
    Si tu veux une idée de ce que font les professionnels, jette un coup d’œil sur ce tutoriel : conventions typographiques de argyronet.
    ----------

    Autre réflexe, compacter la BDD lors de la fermeture :
    Outils>Options…>Général, cocher la case « Compacter lors de la fermeture ».

    Questions « métier »

    - Un véhicule a-t-il une seule carte ou peut-il en avoir plusieurs ?
    - Doit-on prévoir qu’une carte soit affectée à un autre véhicule ? (Par exemple, lorsqu’un véhicule ancien est remplacé ou qu'un chauffeur emprunte le véhicule d'un collègue.)
    - Dans la table des consommations, pourquoi deux champs : date et heure et non un seul ?
    - Je ne comprends pas « Type_carburant_1 » et « Type_carburant_2 ». Peux-tu expliquer ?

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Questions « métier »
    - Un véhicule n'a qu'une seule carte mais il arrive parfois que les chauffeurs se trompe de carte et utilise une autre pour faire le plein.
    - donc oui il faut prévoir qu'une carte peux être affecté momentanément a un autre véhicule, voir définitivement.
    mais cela est normalement gérer par tb_données vu que lorsque l'on remplis le formulaire il va chercher le numéro de la carte et les autres info dedans, dans ce genre de cas je change le numéro de carte affecté au véhicule dessus.
    dans l'avenir c'est a dire quand la première partie fonctionnera je ferais un formulaire pour modifier certain point de la table "tb_données" avec la possibilité d'ajouter des véhicules, des cartes ou de faire l'inversion entre 2 cartes si cela est possible sinon je continuerais "manuellement" a le faire.
    - pour la date et l'heure je ne savais pas que je pouvais les mettre dans le même champs je vais donc corriger cela.
    - Type de carburant 1 : essence, gazole
    - Type de carburant 2 : en faite suivant le type de véhicule utilisé ce n'est pas le même budgets pour simplifier on vas dire que ce n'est pas le même organisme qui paye, mais la j'ai fait une erreur je devrais l'inclure directement dans la table (tb_données) je vais rectifier aussi car ce n'est pas marqué dans la facture de carburant.

    Remarques générales
    Je prend bonne note de tout, je vais lire le tuto, corriger tout mon fichier et le poster une fois cela fais.

    Précaution oratoire
    Nous somme tout a fais d'accord je ne veux pas que l'on fasse le boulot a ma place sinon je ne serais pas venu poser des questions sur un forum.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Un véhicule n'a qu'une seule carte mais il arrive parfois que les chauffeurs se trompent de carte et utilisent une autre pour faire le plein.
    => la table des consommations devra donc contenir l’IDVehicule.
    => le formulaire d’encodage des consommations devra présenter « par défaut » l’ID du véhicule « normal », mais proposer la liste des IDVehicule possibles pour une modif éventuelle.

    pour la date et l'heure je ne savais pas que je pouvais les mettre dans le même champ
    Mais quelle est la valeur ajoutée de l'heure dans ta base de données ?

    Type de carburant 2
    C’est donc une notion liée au véhicule : sa place est donc dans la table des véhicules et non dans celle des consommations.
    Quel nom, explicite, doit-on donner à cette notion ? OrgaPayeur ?


    J’imagine que la facture de carburant mentionne sans doute : date, heure, N° carte, quantité… mais d’où vient l’info « kilométrage du véhicule » ?

    corriger tout mon fichier et le poster une fois cela fait.
    Laisse-moi quelques heures pour réfléchir au modèle de données.
    Je te reviens avec une proposition.

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Voici le modèle de données que je te propose



    Fonctionnalités à prévoir pour formulaire Encodage ConsomCarbu

    * choix de la carte (zdl) => complétion (modifiable) de véhicule et type de carburant ;
    * alerte si
    - le type de carburant ne coïncide pas avec celui du véhicule,
    - la consommation depuis le plein précédent dépasse un seuil à convenir (fonction de consommation théorique).
    Images attachées Images attachées  

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Voici une proposition de formulaire d'encodage des consommations de carburant :



    Fonctionnalités
    - Choix de la carte => par défaut : véhicule, type de carburant.
    - Alertes le contrôle s'affiche en rouge :
    . le véhicule ne correspond pas à la carte ;
    . date de plein non postérieure à celle du dernier plein ;
    . type de carburant anormal ;
    . KM actuel non supérieur à celui du dernier plein.
    - Un clic sur "Ajouter", ajoute la consommation à l'historique et réinitialise les contrôle pour l'encodage suivant éventuel.

    Vois ci ceci te convient, si oui je reviens pour expliquer le comment.

    Des idées pour d'autres fonctionnalités ?
    Images attachées Images attachées  

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Tout d'abord merci beaucoup.

    Je vais répondre au question puis me pencher sur les 2 fichiers que tu as posté pour essayer de comprendre le fonctionnement.

    Mais quelle est la valeur ajoutée de l'heure dans ta base de données ?
    C'est tout simplement au cas ou la carte soit utilisé 2 fois dans la même journée.

    C’est donc une notion liée au véhicule : sa place est donc dans la table des véhicules et non dans celle des consommations.
    Quel nom, explicite, doit-on donner à cette notion ? OrgaPayeur ?
    Oui c'est ce que j'expliquais c'est une erreur de ma part, OrgaPayeur me convient parfaitement comme nom.

    J’imagine que la facture de carburant mentionne sans doute : date, heure, N° carte, quantité… mais d’où vient l’info « kilométrage du véhicule » ?
    L'info du kilométrage du véhicule est rentré par le chauffeur en station et apparait donc sur la facture.
    c'est la que rentre en compte l'heure si il y a 2 pleins dans la même journée et qu'une erreur est commise par le chauffeur lorsqu'il a saisi le kilométrage on peut retrouver plus facilement l'erreur et la corriger.

    voila pour les explications.
    sur ceux je vais étudier tes 2 fichiers qui m'ont l'air assez complexe pour mon pauvre petit niveau d'access.

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    J'ai commencé a regardé le fonctionnement c'est tout simplement génial.
    je vais essayer d'expliquer ce que j'ai compris

    ajout de clé primaire sur toutes les tables

    jointure de type 1 entre les différentes tables
    tVehicules avec tconsomCarbu joint par IdVehicule
    tVehicules avec tTypeCarbu joint par IdTypeCarbu
    tTypeCarbu avec tconsomCarbu joint par IdTypeCarbu
    tconsomCarbu avec tLieu joint par IdLieu

    sur les formulaires
    ce qu'il y a de plus complexe pour moi je pense
    et la je n'ai pas encore tout compris mais j’étudie encore

    fEncodageCarbu
    - dans la zone de liste "zdl" zdlCarte ça fait une requête de sélection des 2 champs Carte et IdVehicule dans la table tVehicule pour en faire un regroupement et affiche le numéro de carte.
    - dans zdlVehicules requête de selection sur 3 champs IdVehicule, Immatriculation et IdTypeCarbu et affiche l'immatriculation du véhicule.

    ces requêtes servent a remplir les autres zones du formulaires.
    par contre comment j'ai pas encore compris ?
    et pourquoi y en a t'il une de regroupement et pas l'autre ?

    pour les autre zdl ou zdt c'est a l'utilisateur de choisir
    ça je sais faire et je comprend a quoi ça sert

    il y a un sous formulaire si j'ai bien compris qui affiche les infos en dessous mais pour comprendre sont fonctionnement je vais aller lire des tutoriels.

    et encore après il vas falloir que je pige le code en VBA

    bref il me reste énormément de boulot

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Procède dans cet ordre :

    1. Ouvre le formulaire en mode construction et affiche les propriétés.
    Il n’a pas de source : on le dit « indépendant ».
    Parcours chacune de ses propriétés et si tu ne devines pas la signification du contenu, informe-toi avec <F1>.

    Intéresse-toi aux contrôles de la première ligne.
    Vois la manière de les nommer et examine leurs propriétés (<F1>).

    En particulier :
    zdlCarte
    Dans la propriété « Contenu » clique sur le « … » à la fin de la ligne pour afficher le graphe de la requête.
    Il n’était pas nécessaire d’avoir une requête de regroupement puisqu’à un véhicule, ne correspond qu’une seule carte et vice versa.
    Tu peux remplacer contenu par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tVehicules.Carte, tVehicules.IdVehicule FROM tVehicules ORDER BY tVehicules.Carte;
    Cette requête donne une liste de paires Carte/idVehicule => nbre de colonnes : 2.
    Dans zdtCarte, c’est « Carte » qui nous intéresse => colonne liée : 1.
    Et on ne veut pas afficher idVehicule => largeurs colonnes : 1 cm; 0.
    Pourquoi l’y mettre alors ?
    Vois l’événement « Après mise à jour »
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.zdlVehicule = Me.zdlCarte.Column(1)
    En français : mettez dans le contrôle zdlVehicule ce qui se trouve dans la 2e colonne de zdlCarte (Access commence, ici, sa numérotation des colonnes à zéro).

    xxxxxxxxxxx

    2. Ensuite, affiche ton formulaire en mode normal et remplis les contrôles de la première ligne.
    Laisse-le affiché pendant que tu examines les requêtes :
    rPleinPrecedent (vois la propriété premières valeurs = 1)
    rVehiculeTraite
    rAjoutConsom
    Comprends comment on fait référence aux valeurs qui sont actuellement affichées dans les contrôles du formulaire.
    Entraîne-toi à utiliser le générateur d’expression (clic droit dans une cellule « champ » ou « critère » et choisis « Créer… » dans le menu contextuel qui s’affiche).

    xxxxxxx

    3. Pour voir comment on déclenche l’exécution d’une requête, va regarder le code de l’événement « Sur clic » de btAjouter (dans ses propriétés, onglet Événement, sélectionne « Sur clic » et clique sur « … » pour accéder à l’éditeur de code VBA.

    xxxxxxx

    4. Intéresse-toi maintenant aux contrôles « zdtKMParcourus », « zdtConsoMoy » et « zdtpc ».
    Un mot d’explication pour t’aider à comprendre.
    Lorsqu’une requête ne donne qu’un seul enregistrement comme résultat (c’est le cas de rVehiculeTraite) la syntaxe pour récupérer la valeur des champs est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RechDom("NomDuChamp";"NomDeLaRequête")
    Ainsi,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RechDom("ConsomTheor";"rVehiculeTraite")
    récupère la valeur de la consommation théorique (colonne « ConsomTheor ») dans la requête « rVehiculeTraite ».

    xxxxxxxx

    5. Le sous-formulaire « sfHistoCarbu »

    Un sous-formulaire est avant tout un formulaire banal.
    Ouvre-le en mode « construction » et examine sa source.
    Comme tu le vois, les enregistrements sont limités à ce que contient le contrôle zdlVehicule du formulaire principal.
    Remarque que la liste est vide à l’ouverture de fEncodageCarbu. C’est logique puisque la table tConsomCarbu ne contient aucun enregistrement où idVehicule a une valeur Null.
    Naturellement chaque fois que la liste doit être modifiée (modif de zdtVehicule ou ajout d’un enregistrement), il faut « rafraîchir ». C’est la raison d’être de l’instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.sfHistoCarbu.Requery
    que tu rencontres dans le code des événements (zdtVehicule, zdtCarte et btAjouter).

    xxxxxxxxx

    6. Mise en forme conditionnelle

    Pour voir comment ça marche, sélectionne un contrôle (par exemple zdtVehicule) et ensuite menu Format>Mise en forme conditionnelle…

    xxxxxxxxxx

    7. Reste à faire

    Définir les règles de validité des champs des tables.
    Ne déclencher l’ajout que si tous les champs nécessaires sont complétés.


    Si quelque chose t'échappe, pose la question : c'est que j'ai mal expliqué.

    Bon travail et à bientôt.

  16. #16
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Je viens de retester
    j'ai cliqué sur ajouter et j'ai une erreur il m'avait pourtant sembler qu'hier soir ça fonctionnait ou alors j'ai pas cliqué dessus je ne me souviens plus.
    je me suis dit que ça devait être suite au modification que j'avais fais pour tester du coup j'ai tout fermer puis supprimer et dézipper de nouveau ton fichier et là j'ai la même erreur.

    Erreur de compilation:
    Argument non facultatif

    et surligne en bleu ".SetWarnings =" dans la ligne ou c'est écrit "DoCmd.SetWarnings = False" et en jaune "Private Sub btAjouter_Click()"

    ---------------------

    suite a mes autres tests

    la zdtDate devient rouge si je met la même date que précédemment alors que le véhicules peut faire 2 fois le plein dans la même journée d’où l'importance de l'heure.

    j'ai quand même réussit a le corriger en mettant simplement
    [zdtDate]<RechDom("date";"rPleinPrecedent")
    à la place de
    [zdtDate]<=RechDom("date";"rPleinPrecedent")
    dans la mise en forme conditionnel (ça me fait penser a excel) que j'aurais chercher longtemps si tu ne me l'avais pas dit.

    par contre du coup avec des paramètres soit disant incorrecte mais qui sont bon.
    exemple :
    date inférieur a la dernière saisie mais avec un kilométrage inférieur aussi
    il m'affiche tout en rouge car il compare simplement une seule donnée et du coup ne peux pas concevoir qu'elles peuvent être bonne.

    tu vas me trouvé chiant mais j'aurais aimé que dans l'historique des consommations de véhicules apparaissent la consommation litre / 100 km

    et après je ne sais pas si c'est possible mais que si elle dépasse la consommation théorique de 20% elle soit écrite en rouge.

    sur ceux je retourne étudier le fichier avec tous les conseils que tu m'as donné dur dur de tout piger

  17. #17
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Erreur de compilation:
    OOops, j'ai posté un fichier non corrigé.

    Voici.

    Pour le reste, je verrai demain matin.

  18. #18
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    la zdtDate devient rouge si je mets la même date que précédemment alors que le véhicule peut faire 2 fois le plein dans la même journée d’où l'importance de l'heure.
    Prise en compte de l’heure (par défaut 00 :00).

    ----------

    J’ai ajouté la consommation aux 100 Km dans l’historique avec alerte si surconsommation > 20 %.
    Vois la requête rsfHistoCarbu source de sfHistoCarbu. Elle est relativement complexe, car elle recourt à des fonctions de domaine.
    Pour étudier la théorie sur les fonctions de domaine :
    - Les Fonctions de Domaine dans Access (Philippe JOCHMANS)
    http://starec.developpez.com/tuto/fonctionsdomaines/.

    Mais une chose à la fois ! Ne fais pas tout le même jour !

    N’hésite pas à me signaler des fonctionnalités qui peuvent faciliter l’utilisation.
    Fichiers attachés Fichiers attachés

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    je vais lire ça a tête reposé car la je fatigue un peu.

    j'ai tout de même une question
    je me suis dit que pour arriver à comprendre plus facilement j'aillais le refaire et voir "la correction" pour l'instant je ne me débrouille pas trop mal même si je vais voir ton fichier de temps en temps pour réétudier tes solutions
    j'ai réussis a quasiment tout refaire sauf sur le sous formulaire je n'ai qu'une seule ligne qui apparait donc comment fais tu pour faire apparaitre les autres informations en dessous ?
    Je pense que j'ai du oublier de cocher ou remplir quelque chose.

  20. #20
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    je vais lire ça à tête reposée car là je fatigue un peu.
    Prends le temps qu’il faut pour bien assimiler, cela permettra de gagner du temps pour la suite.

    je me suis dit que pour arriver à comprendre plus facilement j'allais le refaire
    Bravo, c'est la bonne méthode.

    j'ai réussi a quasiment tout refaire sauf sur le sous-formulaire je n'ai qu'une seule ligne qui apparait donc comment fais-tu pour faire apparaitre les autres informations en dessous ?
    Vérifie la propriété « Affichage par défaut », tu as probablement « Mode simple » et il faut « Mode continu ».

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Aide pour MCD - gestion d'une société informatique
    Par fructis dans le forum Merise
    Réponses: 1
    Dernier message: 11/07/2013, 13h13
  2. Aide pour une gestion d'un fichier d'adresse
    Par Shtrakeur dans le forum Général Python
    Réponses: 3
    Dernier message: 29/10/2011, 10h19
  3. Besoin d'aide pour une gestion d'un multi fork avec chien degarde.
    Par Baradhur dans le forum Threads & Processus
    Réponses: 11
    Dernier message: 21/01/2011, 09h28
  4. Réponses: 3
    Dernier message: 20/12/2010, 14h05
  5. Réponses: 12
    Dernier message: 09/11/2010, 10h15

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