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 :

Rechdom dans un formulaire avec deux critères


Sujet :

IHM

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut Rechdom dans un formulaire avec deux critères
    bonjour

    j'essaie de créer un rechdom dans mon formulaire qui recherche un document qui correspond à la fois à deux critères dans mon formulaire

    a savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    =RechDom("[FOURNIE]";"[T_CONFIDENTIALITE]";"[ID_SOUSTRAITANT]=Formulaires![F_PAPIER]![ID_SOUSTRAITANT] Et [ID_CHANTIER]=Formulaires![F_PAPIER]![ID_CHANTIER]")

    Il faut que la valeur renvoyée corresponde à la fois à l'ID Soustraitant et ID chantier de mon formulaire

    mais telle que je l'ai écrite, elle me renvoie une erreur

    merci de vos réponses

    Isabelle

  2. #2
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Bonjour,

    essaies plutôt avec le dlookup.

    Par contre une seule condition possible, il me semble.

    Mais tu peux essayer cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = DLookup("[FOURNIE]", "[T_CONFIDENTIALITE]", "[ID_SOUSTRAITANT] & ' ' & [ID_CHANTIER]=Formulaires![F_PAPIER]![ID_SOUSTRAITANT] & ' ' & =Formulaires![F_PAPIER]![ID_CHANTIER]")
    Sans garantie.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Bonsoir

    Merci pour ta réponse très rapide

    je le mets dans la source contrôle ?

    Ca ne marche pas

    ou dois le mettre ailleurs ?

    merci

  4. #4
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Hum,

    tu fais bien une recherche dans une table ?

    j'ai un doute.

  5. #5
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Bon, afin de combiner la recherche sur les deux valeurs, je te propose ceci, qui marche beaucoup mieux que mon précédent post (je l'ai testé cette fois ci... ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vMessage = DLookup("[Description]", "[Catégories]", "[Code catégorie] & ' ' & [Nom de catégorie]='" & 1 & "' & ' ' & 'Boissons'")
    Cet exemple permet de faire une recherche dans un dlookup en utilisant deux critères qui sont concaténés pour l'occasion.

    Cet exemple fait une recherche sur la valeur du champ Description dans la table Catégories, en concaténant les champs Code catégorie et Nom de catégorie et en passant comme valeur 1 et Boissons.

    Tu dois pouvoir l'appliquer à ta recherche dans le formulaire.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Oui la table est

    ID_SOUSTRAITANT
    ID_CHANTIER
    FOURNIE

    ID_SOUSTRAITANT ET ID CHANTIER clés primaires

    j'ai mis ta formule dans la source contrôle d'un champs indépendant et ca continue à me donner erreur

    du coup j'ai mis un sous formulaire avec champ pere id soustraitant et id chantier mais j'aurais aimé le faire avec juste un champs, je suis sûre que c'est possible

    as tu une idée en ce qui concerne la réquete de non correspondance pour les lots restants ?

    J'ai répondu hier sur le forum. J'ai bien pensé à l'idée de Philben d'attacher la liste de lot et site,mais je trouve que c'est bizarre comme lien, puisque les lots sont les mêmes pour le chantier complet ?,,,

    merci de ton aide
    isabelle

  7. #7
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Montres moi le code que tu as écris, et ensuite indiques quel est le message d'erreur.

    Pour la réponse de Philben, je dirais qu'elle est plutôt bonne.
    Tu devrais te pencher sur la modification de ton modèle.
    En effet, tu dois pouvoir affecter pour chaque site un même nombre de lots PROPOSES, mais pour un chantier qui contient plusieurs sites, les lots contractés par site peuvent être différents

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    J'ai tout simplement copié ton code dans la source controle

    et ca me renvoit "la syntaxe de l'expression entrée n'est pas correcte"

    ceci est pour ta première proposition

    pour la seconde j'ai entré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONFIDENTIALITE = DLookup("[FOURNIE]", "[T_CONFIDENTIALITE]", "[ID_SOUSTRAITANT] & ' ' & [ID_CHANTIER]='" & 1 & "' & ' ' & 'Boissons'")
    Le problème est que je ne sais pas ce qu'il faut que je mette à la place de "BOISSONS" et visiblement access n'est pas d'accord pour boire un coup (désolée déformation chti !! LOL)


    Il me répond #Nom? ce qui était à prévoir !!

    Ouh là là ! je t'ai dit hier que mes méninges ont "chauffées"

    Quant à la proposition pour les lots, je vais y penser, mais je vois vraiment pas comment faire. Tu ne penses vraiment pas qu'une requête union serai la solution ?

    Isabelle

  9. #9
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    C'est sur, si tu utilises mes valeurs, ça peut pas marcher !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONFIDENTIALITE = DLookup("[FOURNIE]", "[T_CONFIDENTIALITE]", "[ID_SOUSTRAITANT] & ' ' & [ID_CHANTIER]=Formulaires![F_PAPIER]![ID_SOUSTRAITANT] & ' ' & =Formulaires![F_PAPIER]![ID_CHANTIER]")
    Essaies cela, on devrait se rapprocher de la vérité...

    Et non, je ne pense pas que la requête union soit la solution.
    Si à la base le modèle pose des soucis, tu risques de galérer encore par la suite

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Access dit #nom?

    on aura pourtant essayé !!

    bon je vais me coucher, j'y ai travaillé mes trois jours de repos !!!

    bonne soirée et merci de ton aide

    Isabelle

  11. #11
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    C'est surement dû à la syntaxe.

    Persévères, tu y arriveras.

    C'est pas bien de travailler pendant ces jours de repos...

  12. #12
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    J'ai repris mon exemple de toute à l'heure, et j'ai changé les valeurs passées en dur par des valeurs renseignées dans des champs texte que j'ai rajouté sur mon formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vMessage = DLookup("[Description]", "[Catégories]", "[Code catégorie] & ' ' & [Nom de catégorie]=formulaires!Formulaire2!texte3.value & ' ' & formulaires!Formulaire2!texte5.value")
    Cela marche très bien.

    Le code s'exécute sur un clic sur un bouton, le type de données de vMessage est variant.

Discussions similaires

  1. [AC-2003] Filtrer dans formulaire avec plusieurs critères
    Par nounous54 dans le forum IHM
    Réponses: 5
    Dernier message: 09/01/2014, 12h46
  2. Rechdom avec deux critéres
    Par isabelle b dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/05/2008, 17h00
  3. Mise à jour dans un formulaire avec condition
    Par Bourni dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2006, 23h13
  4. Formulaire avec deux boutons
    Par Oberown dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 18h06
  5. Réponses: 10
    Dernier message: 10/06/2004, 17h20

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