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 :

Accéder à 2 enregistrements en même temps et faire des calculs à l'interieur des tables


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Accéder à 2 enregistrements en même temps et faire des calculs à l'interieur des tables
    Problème : Je souhaite acceder à deux enregistrements en même temps (ou successivement) et faire des calculs à l'interieur d'une table par le biais d'un formulaire


    Bonjour, je me présente, Alexandre, étudiant en première année développement d'application et ingénierie réserau BTS.
    Nous avons un projet qui est sur access. Le but est qu'il fasse 10 tables minimum, après nous décidons de ce que nous en faisons. Moi, j'ai eu l'idée d'un vidéo club. Je vous présente donc le problème. Alors j'ai une table appelée T_LOUE (où il y a le numéro de location, la date de début de location ...) et une autre appelée T_COPIE (où il y a les films dans leur supports choisis (DVD, Blu-ray, K7 ...), leur quantité, leur prix à la journée ...). (Voir la photo des relations entre les 2 tables)

    Dans un premier temps, je veux que dans mon formulaire, j'atteind un nouvel enregistrement sur T_LOUE (ça pas de problème), j'entre la date de début de location, le film choisi et le support. Et c'est là que ça se corse. Je veux maintenant que le prix de la location du film (en fonction du support choisi : dvd, k7 ...) s'inscrive dans la table T_LOUE en fonction de ce qui a été entré au début (je ne veux pas seulement qu'il me l'affiche, je veux qu'il me l'inscrive dans le champ correspondant T_LOUE.LOUE_PRIX). Deuxièmement, une fois cela fait, je souhaite qu'à l'enregistrement (une fois qu'on cliquera sur un bouton "enregistrer") le champ COPIE_QTE de la table T_COPIE baisse de 1 (décrementation) automatiquement selon le film choisi et le support choisi(car il sera enlevé de la reserve, en effet il sera loué).

    J'espère vraiment que vous allez pouvoir m'aider, je suis dans la panade totale, cela fait plus d'une semaine que je passe mes jours et mes nuits dessus, sans succès. Si vous m'aidez, j'aurai le bonheur de participer aux aides de ce forum.


    Je repasserai souvent voir vos nouvelles et vous donner d'autres explications s'il vous en manque.

    Esperant une réponse de votre part, veuillez recevoir, chers amis, mes sincères remerciements.
    Images attachées Images attachées  

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Suggestion
    Bonjour Alexandre,

    Je ne vois dans vos tables aucune table T_client cela me paraît bizarre.
    Concernant le problème qui vous empêche de dormir !!! je vous suggère de voir si à l'aide d'un formulaire pricipal et d'un sous formulaire il n'y a pas moyen de résoudre ce qui vous préoccupe. J'ai la certitude que oui, mais ce n'est pas vous rendre un bon service que de vous donner la solution toute faite, c'est vous qui devez apprendre pas vrai.
    Voyez donc dans les tutoriels de DVP ou dans la FAQ vous devriez y trouver votre bonheur, en cherchant un peu naturellement.

    Si ça ne va vraiment pas revenez nous voir.

  3. #3
    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
    et bienvenu sur le forum

    Comme le dit très justement rjamin, le but n'est pas d'attendre la solution de notre part mais d'avoir un ou plusieurs guides ( DVP est une grnade famille ) pour avancer dans ton développement.

    Pour ce qui est du Cahier des charges, celui-ci est bien mince et par rapport à la seule contrainte que tu nous aies donné (rappel : 10 tables minimum), la présentation de ton sujet me parait en être loin ()

    Présente nous ton modèle relationnel avec les différentes tables cela nous permettra de mieux rentrer dans ton sujet.

    Quant à l'affichage de plusieurs enregistrements : la proposition de rjamin sur le formulaire et son sous-formulaire est tout à fait adéquate.
    Tu trouveras des exemples dans les tutos sur les formulaires de recherche

    D'ailleurs, ceux-ci te donneront peut-être des idées pour le suivi de la location de tes vidéos

    Bonne continuation

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui mais mon soucis c'est que je veux faire des calculs à l'interieur des tables. Comment peux-tu mettre un champ d'une table (ici T_LOUE.LOUE_PRIX ) dans laquelle je peux mettre quelque chose. Mais là je veux donc verouiller le champ et faire que s'inscrive à l'interieur le champ T_COPIE.COPIE_PRIXJOUR. Puis à l'enregistrement je souhaite qu'un autre calcul se fasse dans T_COPIE.COPIE_QTE sachant que T_LOUE.COPIE_FILM_ID = T_COPIE.COPIE_FILM_ID et T_LOUE.COPIE_SUPPORT_ID = T_COPIE.COPIE_SUPPORT_ID et le calcul serait T_COPIE.COPIE_QTE (nouveau)= (T_COPIE.COPIE_QTE (avant) -1)

    Pour plus de clarté, voilà toutes mes relations (je n'avais pas tout donner pour ne pas embrouiller)



    Merci d'avance de m'aider car j'ai un travail de plus de 100heures j'ai déjà fais 64 formulaires + 17 etats et je bloque sur le dernier :s. C'est sur que je ne souhaite pas que quelqu'un me le fasse mais je ne sais pas du tout comment faire un calcul à l'interieur d'une table car quand un champ à comme source le nom du champ de la table, on ne va pas y mettre un calcul. Merci de me répondre.
    Images attachées Images attachées  

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Calcul dans table
    Bonjour,

    Inutile de chercher, un calcul à l'intérieur d'une table est impossible, le calcul ne peut se faire que dans un formulaire ou une requête, puis le résultat est recopié du formulaire dans la table par une macro ou du code VBA

    Joint un exemple de champ calculé apr une macro ou par code VBA tous provoqué sur l'évènement de contrôle Réception focus.

    http://www.cijoint.fr/cjlink.php?fil...cijIyo3IuF.zip

    Bon travail

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 755
    Points : 57 598
    Points
    57 598
    Billets dans le blog
    42
    Par défaut
    Bonjour,

    Citation Envoyé par rjamin Voir le message
    ... le calcul ne peut se faire que dans un formulaire ou une requête, puis le résultat est recopié du formulaire dans la table par une macro ou du code VBA
    Tout est dit !! (sauf le code)

    …je souhaite qu'à l'enregistrement (une fois qu'on cliquera sur un bouton "enregistrer") le champ COPIE_QTE de la table T_COPIE baisse de 1 (décrémentation) automatiquement selon le film choisi et le support choisi (car il sera enlevé de la réserve, en effet il sera loué).
    Tu peux toujours passer en VBA une requête « Mise à jour » du style :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE  T_COPIE  SET [Copie_qte] = [Copie_qte]-1
     WHERE ( CopieFilm_ID= …  AND CopieSupport_ID=… )

    Mais il faudra bien à un moment accéder à cette quantité pour la comparer à 0 par exemple (stock vide). Tu n’as rien contre les manipulations de données via un RecordSet ?

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je vous remercie, je suis en train de tester ça (avec du mal) mais je vous tiens au courant. Merci encore.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2013, 14h25
  2. barre de progression et enregistrement en même temps
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/09/2012, 12h58
  3. Réponses: 2
    Dernier message: 28/06/2011, 11h18
  4. Réponses: 2
    Dernier message: 23/11/2010, 14h08
  5. [MySQL] les boucle sous PHP' ajout de plusieurs enregistrement en même temps
    Par info_sara dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 21/05/2008, 21h33

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