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 :

Débutant - Update de tables difficile [AC-2007]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Débutant - Update de tables difficile
    Bonsoir à tous

    Je ne suis pas d'un très bon niveau en Access, et, plus "grave", cela fait longtemps que je n'y avais pas mis les mains dans le cambouis.

    Je suis en train de faire une petite application pour gérer un service de soins à domicile, où sont donc gérées :
    - des esthéticiennes
    - des clients
    - des apporteurs d'affaires
    - des soins réalisés (sous forme de forfaits ou non)
    - et bien sûr : des rendez-vous

    J'ai analysé que les rendez-vous étaient au centre de toutes l'organisation, j'ai donc considéré qu'il y avait des Foreign Keys dans la table des rendez-vous. (A ce sujet, si vous pensez que le design est mauvais... n'hésitez pas à me le dire, cf document joint...)


    Ainsi donc, mon problème spécifique, c'est que j'ai fait un premier formulaire frmFromtblRendezVous, où le manager doit pouvoir entrer les informations importantes.

    Bien sûr, il doit entrer les caractéristiques en les voyant (ie choisir un client via son nom et pas par son ID), d'où les requêtes pour ce faire.

    Par ailleurs, j'ai ajouté des .RowSource sur les champs à droite contenant les "Ref..." et qui sont liés aux Foreign Keys. Mon code en VBA (très simple), fonctionne pour que les champs affichés soient mis à jour (je vous laisse y accéder pour chaque champ)


    ... MAIS... j'ai 2 problèmes :
    1. les champs à droite ne marchent que si je mets ces champs (RefSoin, RefEstheticienne, RefClient...) dans une listBox (sinon l'update ne fonctionne pas : pourquoi ? Je vais essayer de comprendre...)
    2. Surtout, l'update de la list box ne permet PAS de faire l'update dans la base de données, les champs de la table tblrendezvous n'étant pas mis à jour dans la table comme je le voudrais

    Comment puis-je faire cet update (qui se fait "naturellement" sur les autres champs de ce formulaire lié à la table tblrendezvous ?


    J'ai essayé avec des refresh, et en remettant le "rowsource" comme au début dans le VBA (ie Rowsource "RefSoin" pour le champ "Refsoin", etc), mais rien ne fonctionne.

    Je suis sûr que ce problème est ultra basique, mais mes recherches donnent de nombreux résultats, mais qui ne répondent pas à mon besoin...

    Pourriez-vous m'aider ?
    Cela me serait tellement utile !

    Fichier joint : Management Rendez-vous
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Tu ne dois pas procéder ainsi.

    - Tes listes déroulantes doivent avoir comme Source contrôle le nom de la clé externe.
    - Ta requête doit contenir la clé primaire de la table de référence en colonne 1 et être cochée comme affichée, et comme deuxième colonne le nom sélectionné.
    - Tu dois préciser que la colonne liée est la colonne n° 1 (par défaut)
    - Tu dois attribuer une largeur à 0 pour la première colonne.

    Ainsi, les données se mettront à jour dans la table, puisque ton contrôle pointera vers le bon champ







  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Wow, super explication Pierre, merci beaucoup pour le temps passé à décrire la bonne solution, qui paraît tellement simple désormais grâce à tes screenshots.

    Merci beaucoup et à bientôt.

    PS : J'ai bien noté l'interdiction des "up" déguisés ou non, mon intention n'était pas de polluer le site, juste de me débloquer après 2 jours sans réponses... ce qui vient d'avoir été fait généreusement et très efficacement ! Merci beaucoup !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    De rien...

    J'ajoute que ton code VBA pour mettre à jour les codes n'est évidemment plus utile, et je te demande de noter un point important:
    Access n'utilisant pas un moteur de données client/serveur, utiliser des requêtes comme tu te proposais de le faire en VBA va consommer beaucoup trop de ressources réseau, et tu vas probablement le mettre à genoux. Il faut essayer de réduire les requêtes au maximum, en amenant par exemple toutes les données dans ta requête de formulaire, en limitant les fonctions de domaine, en amenant les colonnes nécessaires dans les listes déroulantes, etc...

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

Discussions similaires

  1. Débutant: UPDATE d'une table avec sous-requête ?
    Par ctobini dans le forum Débuter
    Réponses: 2
    Dernier message: 03/10/2007, 12h45
  2. [Débutant] Update grace à OraQuery (odac)
    Par Bruno1905 dans le forum Bases de données
    Réponses: 10
    Dernier message: 13/06/2005, 09h18
  3. [débutant] import de table
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/03/2005, 13h24
  4. Réponses: 3
    Dernier message: 11/01/2005, 09h20
  5. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 16h34

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