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 :

[Access] Récupérer valeur d'un champ d'une autre base access


Sujet :

Access

  1. #1
    Nouveau membre du Club Avatar de Puffcash
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 36
    Points
    36
    Par défaut [Access] Récupérer valeur d'un champ d'une autre base access
    Bonjour à tous,

    A partir d'un menu général, j'ouvre différentes bases access en utilisant la fonction créé par "Morsi" dans la FAQ ACCESS.
    Une fois ouverte, je voudrais que la base récupère deux valeurs situées dans le menu général (les valeurs : "Nom du projet" et "Nom fournisseur")

    La question est donc : Est-il possible de récupérer des valeurs d'une base donnée à une autre ? Et si oui, comment ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    Si tu utilise le code tel que décrit dans la FAQ, il y a Docmd.OpenForm le dernier argument de OpenForm est OpenArgs c'est une chaine de caractère.

    Donc tu peux faire lors de l'appel

    [code]
    .DoCmd.OpenForm strForm, intView,,,monNomProjet & "|" & monNomFournisseur
    [code]

    et dans l'événement OnOpen (Ouvreture) ou OnLoad (chargement) du form appelé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if not isnull(me.OpenArgs) then
       dim p as variant
       p=split(me.openArgs,"|")
       me.MonNomProjet=p(0)
       me.MonNomFournisseur=p(1)
    end if
    Accessoirement merci de m'avoir fait découvrir cet article de la FAQ.

    A+

  3. #3
    Nouveau membre du Club Avatar de Puffcash
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    salut,
    Merci pour ta réponse, je commençais à désespérer

    J'ai testé ce que tu m'a dit de faire mais j'ai une erreur.
    J'ai créé deux .mdb pour faire un test : Test1.mdb et Test2.mdb
    Dans ces deux .mdb j'ai créé une table "Perso" avec comme champ :
    - N°Id en numéroauto
    - Nom en texte
    - Prenom en texte
    Et j'ai donc créé les formulaire associés : Perso
    Ensuite dans un module de test1.mdb, j'ai copié/collé le code de la faq en changeant la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DoCmd.OpenForm strForm, intView
    Par la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DoCmd.OpenForm strForm, intView, , , Nom & "|" & Prenom
    Ensuite j'ai affecté le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call fOpenRemoteForm("C:\Test2.mdb", "Perso")
    à l'évènement "cliquer sur un bouton"

    Ensuite j'ai inséré le code suivant dans le code du formulaire perso de test2.mdb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Load()
     
    If Not IsNull(Me.OpenArgs) Then
       Dim p As Variant
       p = Split(Me.OpenArgs, "|")
       Me.Nom = p(0)
       Me.Prenom = p(1)
    End If
     
    End Sub
    Et quand je clique sur le bouton du formulaire perso de test1.mdb l'erreur suivant s'affiche :
    Error#13
    imcompatibilité de type


    Que dois-je faire ?

    Merci

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    A l'oeil, comme ça je ne vois pas. Sur quelle instruction as-tu l'erreur ? Ça donnerai une bonne indication (si tu as une instruction 'on error' met la en commentaire, Access va te proposer de passer en débugage et tu pourra avec F8 voir l'intruction qui provoque l'erreur.

    Suggestion, vérifie que Non & "|" & Prenom sont bien en position OpenArgs, il manque peut-être une virgule.

    L'autre test que tu peux faire c'est de mettre en commentaire les modif et de tester le code.

    A+

  5. #5
    Nouveau membre du Club Avatar de Puffcash
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    Salut,

    T'avais raison, il manquait une virgule.

    Mais maintenant il considère que le OpenArgs est nul.
    Donc le message suivant m'est retourné : "Le champ Perso.nom ne peut pas être une chaîne vide."

    Pourquoi la OpenArgs est -il vide ?

    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Re (oui encore moi),

    Si les données que tu cherche sont dans une table, je ne comprends pas pourquoi tu passe par un formulaire. Il y a plus simple !

    Précise bien ce dont tu as besoin.

    A+

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    Citation Envoyé par Puffcash
    Salut,

    T'avais raison, il manquait une virgule.

    Mais maintenant il considère que le OpenArgs est nul.
    Donc le message suivant m'est retourné : "Le champ Perso.nom ne peut pas être une chaîne vide."

    Pourquoi la OpenArgs est -il vide ?

    Merci
    Vérifie la valeur des param dans la base appelante. Sont-ils initilisés correctement avant l'appel.

    A+

Discussions similaires

  1. [AC-2007] Récupérer en valeur par défaut la valeur d'un champ d'une autre table ?
    Par tibofo dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2009, 18h07
  2. Réponses: 7
    Dernier message: 30/01/2008, 17h39
  3. Récupérer une valeur dans un champ d'une autre table
    Par Kareg dans le forum Modélisation
    Réponses: 15
    Dernier message: 24/10/2007, 14h16
  4. Réponses: 3
    Dernier message: 11/10/2007, 12h32
  5. Ajouter un champ dans une autre base Access
    Par scaalp dans le forum Access
    Réponses: 2
    Dernier message: 20/10/2005, 15h34

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