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 :

manipulation de données


Sujet :

Access

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Points : 28
    Points
    28
    Par défaut manipulation de données
    Comment faire pour que lorsque que je rempli le champs code de ma table 1, il remplisse également le champs code de ma table 2?

    merci d'avance

    phil

  2. #2
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Bonjour,

    Tu peux être un peu + explicite ?

    A priori, tu peux mettre du code sur le formulaire, dans l'évènement Code1_AfterUpdate, pour ajouter un enregistrement dans la table 2 ?

    Tu peux aussi t'assurer que toute modif de Code1 est répercutée sur Code2 en appliquant l'intégrité référentielle,

    etc., etc. etc.

    Mais le mieux sera toujours de nous montrer un cas réel : pas de "code 1", "code 2" mais les vrais noms des tables et des champs et des données que cela recouvre, pour qu'on comprenne de quoi tu parles ?

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    désolé ma question n'était pas claire d'autant plus que je vous ai induit en erreur car mon champs s'appelle "code" (je ne parle pas du code VBA).
    Bref

    j'ai deux table "Table a" et "Table b" dans lesquelles il y a un champs en commun qui porte le même nom "Code". J'aimerai que lorsque que je rajoute un enregistrement dans la "Table a" (pour laquelle le champs "code" est une clé primaire) il rajoute automatique un nouvel enregistrement dans la "Table b" avec le même champs "Code".
    Dans la structure que j'ai en ce moment les deux table sont liées par le champs code, mais je suis obligé de rajouter un nouvel enregistrement dans les deux tables (je rentre deux fois le même champs "code" alors qu'ils sont liés).
    j'espère être plus clair cette fois ci

    à plus phil

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    sqi vous avez lié les 2 tables avec ASSISTANT LISTE DE CHOIX je ne voie pas où est le problème.
    Bonne chance.
    Merci

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    non car chaque enregistrement a sont propre champs "code" une clé primaire qui est unique pour chaque enregistrement

  6. #6
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Salut,

    1- je refais toujours la même remarque, pas pour toi, mais pour tout le monde sur le forum : merci d'oublier les "Table a", "Table b", "Code 1" et "Code 2".
    C'est tellement + parlant de parler de table de "Contacts" liée à une table "Clients", ou "TableCacahuètes" et "TableBananes".
    Non, je rigole, mais merci d'être clair, et autant que possible "parlant". On comprend mieux et on peut répondre beaucoup plus facilement 8)

    2- sinon, ton cas est assez clair, sauf que tu n'as pas dit si tu as une liasion "1 à 1" ou "1 à plusieurs" ? Mais ça sera quasi pareil...
    - tu as déjà relié les 2 tables, ce qui permet
    -- toute modif du Code de la 1ère table sera répercuté sur le(s) Code(s) dépendant(s) de la 2ème,
    -- toute suppression d'enregistrement de la 1ère entraînera une suppression du(des) enregistrement(s) dépendant(s) dans la 2ème.
    Si tu as activé ces deux fonctions dans la relation ?
    Pour l'ajout, il n'y a pas d'autre solution que du code VBA, sur le(s) formulaires permettant d'ajouter des enregistrements à la 1ère Table, dans l'évènement Form_AfterInsert.

    Tu sais faire ça ?

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    soit
    tableB(codeb,desb)
    TableA(codea,desa,dessb)
    quand vous créez la tablea sur type de données du champ dessb choisissez assistant liste de choix.
    vous aurrez 2 propositions, choisissez à partir d'une table, choisissez la tableB codeb et desb et suivez les étapes.
    Bonne chance.
    Merci[/u]

  8. #8
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Hocine, bonjour,
    j'avoue que j'ai du mal à comprendre ce que tu proposes avec cette liste de choix : comment créer un nouvel enregistrement dans la 2ème table ?

    philpaul, j'aimerais savoir si la relation entre tes 2 tables est de "1 à 1" ou "1 à plusieurs" (Pour chaque enregistrement 'Table1', tu peux avoir un seul ou plusieurs enregistrements en 'Table2' ?).
    Il faudra faire quelques essais de mise au point, mais, si la relation est de 1 à 1, il n'est pas impossible que tu réalises cela sans code.
    Il faudra essayer :
    - une requête basée sur les 2 tables, avec bien sûr liaison de 'Table1.Code' à 'Table2.Code',
    - une valeur par défaut quelconque (même si c'est '0' dans un champ numérique ou un espace dans un champ texte) dans un des champs de la 2ème table, autre que le champ Code.
    Cela peut suffire pour créer un enregistrement dans la Table2, dès que tu en crées un en Table1, en utilisant cette requête, ou un formulaire basé sur cette requête.
    Sinon, dans la même requête, même sans valeur par défaut, le fait de saisir une valeur quelconque dans un champ de la table 2 devrait créer l'enregistrement avec 'Table2.Code = Table1.Code', à tout moment.
    Attention de bien permettre les mises à jour + suppressions en cascade.

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    SDalut,
    ce que j'ai compris qu'il ajoute un enregistrement dan s tableB et il veut le retrouver dans la tableA.
    philpaul a dit :
    Comment faire pour que lorsque que je rempli le champs code de ma table 1, il remplisse également le champs code de ma table 2?
    si ce n'est pas la cas alors désolé.
    Bonne chance.
    Merci.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    et avec un sous formulaire ? (champs père et fils sur le code)?

  11. #11
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    philpaul, t'es là ?

    On a besoin des réponses aux questions pour aller + loin.
    Si tu fais des essais, bravo, mais fais nous profiter, qu'on continue ensemble...

    Niclalex : oui, notamment si la relation est de 1 à 1. Quoique les sous-formulaires sont plutôt faits pour des relations 1 (enreg. dans le form. principal) à plusieurs (dans le sous form.)
    Et, quelle que soit la relation, je pense que ça ne créera rien automatiquement. Faudra du code pour déclencher la création d'un enregistrement dans la 2ème table.
    Alors que, si les 2 tables sont dans la même requête, je n'ai pas très bien compris pourquoi, mais j'ai eu des cas de création spontanée d'enregistrement dans la 2ème table, ce qui est parfait pour ce cas , mais qui m'ont plutôt ennuyé à l'époque , et m'ont obligé à supprimer toute valeur par défaut, d'où le conseil plus haut...
    Tu as fait des tests ?

Discussions similaires

  1. Manipulation de données hexadecimales
    Par crazydede8 dans le forum C++
    Réponses: 12
    Dernier message: 13/05/2006, 13h31
  2. [C#] [ADO.NET] Manipulation de données
    Par Tips dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/02/2006, 16h28
  3. [VBA]SQL dans Excel manipulation de données
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/02/2006, 16h56
  4. Manipulation de données binaires
    Par Defre87 dans le forum Général Python
    Réponses: 3
    Dernier message: 28/09/2005, 16h16
  5. [xml]manipuler des données xml sous Oracle9i
    Par crazy dans le forum SQL
    Réponses: 7
    Dernier message: 28/02/2004, 11h40

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