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

Requêtes et SQL. Discussion :

ID NumAuto qui se répercute sur d'autres tables


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut ID NumAuto qui se répercute sur d'autres tables
    Bonjour,

    J'ai un petit problème que je n'arrive pas à résoudre et qui me pose énormément de soucis. J'ai une table SITES contenant des entreprises, celles-ci disposent d'un ID en auto-incrément.
    Lorsqu'on crée un nouveau site, un nouvel ID se crée, jusqu'à, il n'y a aucun soucis. Je voudrais que cet ID se copie sur 3 autres tables (table RESULTAT, MEMO et CLIENT) automatiquement, sans avoir besoin de copier l'ID dedans. La relation est de 1 (SITES) à Plusieurs (RESULTAT, MEMO et CLIENT) car il peut y avoir qu'un seul site mais plusieurs résultats, mémo ou clients pour ce site.

    J'ai essayé de me renseigner sur Internet mais impossible de trouver une bonne solution ( que cela soit en requête ou en VBA ). Si vous avez une solution, n'hésitez pas à m'en faire part car cela m'embête très fortement. Cela marche avec un formulaire + sous-formulaire, ce qui est logique mais il faut que cela agisse sur 3 sous-formulaires en même temps.

    Merci pour vos futures réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut
    Salut,

    mais tes autres tables contiennent d'autres champs, non ? Comment et avec quoi les alimente-t-on ?

    Sinon pour recuperer le numero cree lors de l'insertion, j'utilise une structure de code similaire a celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim RS as New ADODB.Recordset 'ou DAO
    RS.Open '...
    RS.AddNew
    '...
    RS.Update
    Msgbox "Nouvel ID : " & RS.Fields("ID").Value

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    tu peux aussi utiliser une macro de donnees [Apres Insertion] sur la table SITE, qui creera les 3 enregistrements souhaites
    Note: pour tes 3 tables, il faut que le pre-remplissage des champs obligatoire soit a jour

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    mais tes autres tables contiennent d'autres champs, non ? Comment et avec quoi les alimente-t-on ?

    Sinon pour recuperer le numero cree lors de l'insertion, j'utilise une structure de code similaire a celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim RS as New ADODB.Recordset 'ou DAO
    RS.Open '...
    RS.AddNew
    '...
    RS.Update
    Msgbox "Nouvel ID : " & RS.Fields("ID").Value
    Mes autres tables contiennent bien d'autres informations. C'est une relation père/fils entre la table sites (père) et les 3 autres tables (fils).

    Pour les alimenter, il y a un formulaire (contenant les informations de la table SITES) et chacune des 3 autres tables sont des sous-formulaires du formulaire SITES.

    Je n'ai pas compris le code par contre, pourrais-tu m'aiguiller dessus stp ?

    Citation Envoyé par accessisgood
    Bonjour,

    tu peux aussi utiliser une macro de donnees [Apres Insertion] sur la table SITE, qui créera les 3 enregistrements souhaites
    Note: pour tes 3 tables, il faut que le pre-remplissage des champs obligatoire soit a jour
    Cette idée me parait pas mal, quel macro permettrait de prendre un ID précis puis de le coller sur d'autres tables ?
    Pour le pré-remplissage des champs, je ne vois pas du tout à quoi cela correspond,pourrais-tu m'aider sur ce côté ?


    Merci de vos réponses.

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut
    Concernant le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'declaration d'une variable de type recordset (jeu d'enregistrements)
    Dim RS as New ADODB.Recordset 'ou DAO
    'ouverture du jeu (recuperation des enregistrements issus de la requete SQL)
    RS.Open '...
    'creation d'uine nouvel enregistrement
    RS.AddNew
    'ta tambouille  de mise a jour des enregistrements et autres calculs
    '...
    'validation des modifications et enregistrement
    RS.Update
    'affichage du champs ID qui s'est autoincremente
    Msgbox "Nouvel ID : " & RS.Fields("ID").Value

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/10/2008, 12h09
  2. Valider un formulaire qui se trouve sur un autre frame
    Par laurent_diep dans le forum ASP
    Réponses: 1
    Dernier message: 23/10/2008, 17h20
  3. [Débutant] Faire une boite qui s'affiche sur les autres
    Par Destiny dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/08/2007, 09h40
  4. Appel à une fonction qui se trouve sur une autre page
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2007, 12h36
  5. Acceder a une TextBox qui se trouve sur une Autre Form
    Par le_contact dans le forum Windows Forms
    Réponses: 15
    Dernier message: 14/04/2007, 00h10

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