[Access 2007] Additionner deux tables

overgraph Messages postés 17 Statut Membre -  
 Le Pingou -
Bonjour,
Voilà en faite je créer une base de donnée pour en regrouper plusieurs d'autres.

( Car mes base de donnée regroupe des informations et des photos en PJ donc elle arrive à saturation en taille 2Go)

Donc j'ai créer un bd principal et j'y ai lié mes autres base de données.
(Elles s'affiche toute bien dans la bd Principal.) Mais le problème

C'est que dans mon formulaire de la BD principale, mon menu déroulant ne prend en compte que la 1ère BD que j'ai lié.

Comment faire pour que lorsque je tape un nom ou que je cherche dans le menu je puisse voir toute mes données de toutes les base liées.

Merci de votre aide
Ps ACCESS 2007
Configuration: Windows XP Internet Explorer 7.0

38 réponses

  • 1
  • 2
Résumé de la discussion

Le problème porte sur une base Access 2007 qui regroupe plusieurs bases liées et dont le menu déroulant du formulaire ne liste que la première, empêchant d’afficher les données de toutes les sources.
Plusieurs répondants suggèrent de corriger l’indice de champ source et d’utiliser la colonne appropriée dans le code, notamment en ajustant l’index à 13 et en utilisant Me.Choix.Column(3) pour mettre à jour le RecordSource.
Des échanges évoquent aussi des limites liées aux pièces jointes et proposent des solutions comme des requêtes UNION pour agréger les données des bases liées, tout en mentionnant des paramètres de sécurité des macros.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. ponpon
     
    Bonjour,
    Qu’elles sont les propriétés de votre liste déroulante pour :
    Données / Contenu : ………
    Données / Origine source : ………
    0
    1. overgraph Messages postés 17 Statut Membre
       
      Bonjour,
      Merci de votre reponse,

      Donc dans le menu déroulant > Données / Contenu : j'ai La 1ère Bd "Beaumette" de séléctionner j'ai l'autre en dessous mais je ne peux que en sélectionner une.

      et idem pour la source.

      et quand je clique sur les ... et que je rajoute la 2ième table "montmirail" dans le générateur de requête, lorsque j'enregistre, il me dit
      "Dans l'instruction select, un mot reservé ou un argument est mal orthographié ou absent , ou la ponctiation est incorrect."

      Je ne comprend pas et ne sais pas si c'est la bonne solution.

      Merci de m'éclairer
      0
  2. ponpon
     
    Bonjour,
    Merci pour l’information, mais cela ne m’aide pas car je désir savoir
    les propriétés de votre liste déroulante :
    Sous Feuille de propriétés / onglet Données
    .- Contenu : exemple (SELECT [T_Articles].Code, [T_Articles…….
    .- Origine source : exemple Table/Requête ….

    Note : qu'elle est la taille de votre BD
    0
  3. ponpon
     
    Bonjour,
    Donc j'ai créer un bd principal et j'y ai lié mes autres base de données
    Alors vous avez [Lier à la source de données en créant une table attachée]
    Si c’est bien cela, qu’elle est la structure de chaque tables ?
    Merci de votre réponse.
    0
  4. ponpon
     
    Bonjour,
    J’ai oublié se qui suit dans le poste précédent.
    Vous créez une requête union sur vos tables et ensuite se sera la source pour votre liste déroulante.
    Exemple de la requête :
    TABLE [nom_01] UNION ALL TABLE [nom_02] UNION ALL TABLE [nom_03] UNION ALL TABLE [nom_04];
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. overgraph Messages postés 17 Statut Membre
     
    Merci de ton aide
    Mais je n'arrive toujours pas à mes fin !

    Donc j'ai essayer ta méthode avec 2 BD pour l'instant
    Voici ce que j'ai taper:
    TABLE [Beaumette] UNION ALL TABLE [Montmirail];

    Résultat
    Le champ à valeurs multiple, ne peux pas être utiliser dans une requête UNION

    Ensuite j'ai cherché un peu dans l'aide d'access et j'ai trouvé une autre synthase
    J'ai donc essayé avec 2 données de mes tables "N°Client & N°Chassis"
    SELECT [N°Client], [N° Chassis]
    FROM [Beaumette]
    UNION
    SELECT [N°Client], [N° Chassis]
    FROM [Montmirail];
    Résultat
    référence circulaire causé par l'alias << >> Dans la liste SELECT de la définition de la requête

    Donc je n'avance toujours pas
    0
  7. ponpon
     
    Bonjour,
    Qu’elle est le champ qui doit alimenter la liste déroulante ?
    Pouvez-vous mettre votre BD compresser en ZIP sur https://www.cjoint.com/ pour me permettre de mieux vous aider !
    0
  8. overgraph Messages postés 17 Statut Membre
     
    Je ne sais pas si je peux vous envoyer juste la BD principale vu qu'elle est lié aux 2 autres base qui pèse très lourd (2GO & 400Mo)

    Dans ma base de donnée j'ai plusieurs champs comme:
    N°Client, N°Chassis, Abonné, Adresse CP, Ville, Factuable,Tournée, télépohone, téléphone mobile...

    Dans le menu déroulant je n'affiche que le N°Client et l'Abonné une fois séléctionné le reste des information s'affiche dans le formulaire.

    Je peux vous créér un model vierge avec une Bd principal et 2 autres tables liées.
    0
  9. ponpon
     
    Bonjour,
    Vous pouvez créer une base vide et vous importer de votre BD principale tous et pour les tables sous option vous choisissez : Définition uniquement
    Compacter la base avant de la fermer.
    De cette manière je peux voir la structure sans les données.
    0
  10. ponpon
     
    Bonjour overgraph,
    Essayez avec cette formule de requête UNION :
    SELECT N°Client,Abonné
    FROM [T_Beaumette] UNION ALL SELECT N°Client, Abonné
    FROM [T_Montmirail];
    Contrôler que les noms [N°Client,Abonné] correspondent à vos tables !
    0
  11. overgraph Messages postés 17 Statut Membre
     
    Ca marche presque je m'explique

    J'ai du remplacé
    SELECT N°Client,Abonné
    FROM [T_Beaumette] UNION ALL SELECT N°Client, Abonné
    FROM [T_Montmirail];
    Par
    SELECT N°Client,Abonné
    FROM [Beaumette] UNION ALL SELECT N°Client, Abonné
    FROM [Montmirail];

    Et la ca fonctionne
    Dernière petite question

    Cette méthode ne fonctionne pas avec des nom avec des espaces, genre: Téléphone mobile
    Je peux encore les renommer c'est pas si grave mais pour les Pièces jointes (symbole du trombone)
    Comment faire sachant que l'on ne peux pas les renommer.

    Merci de votre aide ponpon
    0
  12. ponpon
     
    Bonjour,
    Les noms de champs avec espace ne devraient pas poser problème.
    Toutefois, pouvez-vous mettre une BD avec une de vos tables sans données sur https://www.cjoint.com/ pour me permettre de mieux vous aider !
    0
  13. ponpon
     
    Bonjour,
    Pour les champs avec espaces, mettre le nom entre crochet.
    Exemple pour : Téléphone mobile
    SELECT N°Client,[Téléphone mobile]
    FROM [T_Beaumette] UNION ALL SELECT N°Client, [Téléphone mobile]
    FROM [T_Montmirail];
    0
  14. ponpon
     
    Bonjour,
    Merci pour l’exemple de votre BD.
    Résumer :
    Pour les noms avec des espaces, genre: Téléphone mobile
    Il suffit de le mettre entre crochet – [Téléphone mobile]

    Mais pour les Pièces jointes (symbole du trombone)
    Pouvez-vous m’expliquer !
    0
  15. ponpon
     
    Bonjour,
    Le champ de type pièce jointe est introduit avec la version 2007.
    Comme il s’agit d’un champ à valeurs multiples il ne peut pas être utilisé dans la requête UNION.
    Ou est votre problème ?
    0
  16. overgraph Messages postés 17 Statut Membre
     
    Ponpon à écrit:
    Le champ de type pièce jointe est introduit avec la version 2007.
    Comme il s’agit d’un champ à valeurs multiples il ne peut pas être utilisé dans la requête UNION.
    Ou est votre problème ?

    Tout est là, j'aurais aimer retrouver les photos que je met en pj dans ma bd Principale.
    Mais bon tant pis

    Dernière petite chose comment faire pour que l'onglet Formulaire soit déformable et que l'on puisse le mettre en plein écran.

    Grd merci ponpon pour toute ces réponses.
    0
  17. ponpon
     
    Bonjour,
    Merci pour l’information.
    J’ai une petite idée pour vos pièces jointes, mais comme je ne connais pas suffisamment la version 2007 je dois voir si c’est réalisable. Je vous tiens au courant.

    Concernant l’affichage du formulaire sans l’onglet, clic sur le bouton Office / Options Access / Base de données active sur la droite désactiver la case Afficher les onglets des documents.
    0
  18. ponpon
     
    Bonjour overgraph,
    Je pense que j’ai la solution pour vous.
    J’ai besoin d’un peu de temps, patience, lundi se seras bon.
    Bon week-end
    0
  19. ponpon
     
    Bonjour overgraph,
    Je vous propose ceci :
    Pour alimenter la zone de liste déroulante.
    Créer une requête sélection avec les champs [ID, N°Client,Abonnés , +++] +++ un pour le nom de la table : [NomTable: "T_Contacts_01"]
    A créer pour chacune des tables.

    La requête UNION est basé sur les requêtes sélections, exemple :
    SELECT ID, N°Client, Abonnés,NomTable
    FROM [R_Contacts_01] UNION ALL SELECT ID, N°Client, Abonnés,NomTable
    FROM [R_Contacts_02] UNION ALL SELECT ID, N°Client, Abonnés,NomTable
    FROM [R_Contacts_05];

    La propriété [Contenu] de la zone de liste déroulante sera le nom de la requête UNION, exemple : [R_Union_Contacts ]

    Lors de votre choix le code retrouve le numéro [ID] et le nom de la table concernée et vous affiche le résultat de votre choix.

    Je vous laisse découvrir le détail dans l’exemple joint: https://www.cjoint.com/?kevPfnGH5j

    Note : à vous d’ajouter des pièces jointes aux tables : [T_Contacts_01], [T_Contacts_02] et [T_Contacts_03].

    Excellente semaine.
    0
  20. overgraph Messages postés 17 Statut Membre
     
    Merci pour cette réponse très complète.
    J'ai rapidement survoler l'exemple je pense avoir compris, mais j'ai malheureusement pas le temps cette semaine pour tester. (boulot oblige)
    Un grd Merci.
    0
  • 1
  • 2