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 : fonctionnement


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Points : 12
    Points
    12
    Par défaut RechDom : la rechercheV d'access
    Bonjour,
    J'applique la fonction RechDom dans une requête qui me permet de retrouver une valeur dans une table non liée. Voici mon exemple adapté et simplifié :

    Table 1 : Recettes
    numéro
    nom
    groupe (entrée, plat ou dessert)

    Table 2 : Groupes
    groupe (entrée, plat ou dessert)
    classement (1, 2 ou 3)

    Le but est de donner un numéro à chaque recette pour que celle-ci soit classée en 1er, 2e, ou 3e sur mon Etat.
    J'arrive bien à lier les champs "groupe" mais la fonction ne s'adapte qu'au 1er enregistrement qu'elle trouve et garde le même n° pour le reste
    Voici ma requête basée sur la table "Recettes" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RechDom("[classement]";"[groupes]";"[groupe]=[groupe]")
    Quelqu'un saurait-il me dire pourquoi ma requête ne marche pas pour tous mes enregistrements?

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Bonjour,

    Vraisemblablement parce que [Groupe] sera toujours égal à [Groupe]
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RechDom("[classement]";"[groupes]";"[groupe]=[groupe]")
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RechDom("[classement]";"[groupes]";"[groupe]="&[groupe])


    Enfin, l'exemple que tu donnes pose un souci en terme de performances. J'espère qu'en vrai, tu vas utiliser les relations entre les champs Groupe des deux tables

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bonjour,
    Merci à vous deux. avec cette nouvelle tournure j'ai "#Erreur#" inscrit dans tous les champs en face des groupes.
    Quand je clique dans les cellules, Access me dit "L'objet ne contient pas d'objet d'automatisation Entrée". Idem pour plat et dessert. Je vais creuser la question et je reviendrai donner l'astuce si je trouve.

    Je ne peux malheureusement pas lier les tables à cause des champs vides que je peux potentiellement avoir (clé primaire impossible)

    Merci encore et si vous avez une idée...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé!
    C'est une question de rigueur dans la syntaxe. Il fallait écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[classement]";"groupes";"[GROUPE]= '" & [GROUPE] & "'")

    Faire attention aux guillemets simples et doubles!

    Je pourrai donc classer mes plats dans l'ordre logique au lieu de l'ordre alphabétique lors de la conception de l'état.

    Merci encore pour le coup de pouce des forums!!

  6. #6
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Ah ! Groupe est de type texte
    Alors, attention à ta syntaxe !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[classement]";"groupes";"[GROUPE]= '" & [GROUPE] & "'")
    Sera bon jusqu'au moment où tu auras un ' dans le [groupe]
    Tu as plusieurs possibilités pour pallier ce souci.
    En voici quelques uns :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[classement]";"groupes";"[GROUPE]= " & car(34) & [GROUPE] & car(34))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[classement]";"groupes";"[GROUPE]= '" & replace( [GROUPE],"'","''"))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[classement]";"groupes";"[GROUPE]= """ & [GROUPE] & """")
    Pour ma part, je favorise la première de ces trois possibilités.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Merci pour ces précisions, j'ai opéré les modifications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Rechdom ne fonctionne pas "petit projet"
    Par dalleau974 dans le forum IHM
    Réponses: 3
    Dernier message: 29/09/2013, 22h59
  2. Rechdom : critère ne fonctionne pas dans regroupement mensuel
    Par clickandgo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/03/2012, 13h03
  3. Récuperer valeur precedente Rechdom fonctionne pas
    Par sebing dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 08/04/2011, 22h30
  4. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 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