Erreur 3101 sur ACCESS
Bonjour,
J'ai un formulaire sur Access 2007 comprenant un sous-form avec une liste déroulante, quand je choisis un nom de ma liste, j'ai cette erreur :
3101 Le moteur de base de données Microsoft Office Access ne peut pas trouver d'enregistrement dans la table <name> avec le(s) champ(s) <name> correspondant à la clé.
D'où vient mon problème svp ? Cela fait deux jours que j'y suis, pas moyen de trouver. Ma requête SQL étant bonne.
A bientôt.
J'ai un formulaire sur Access 2007 comprenant un sous-form avec une liste déroulante, quand je choisis un nom de ma liste, j'ai cette erreur :
3101 Le moteur de base de données Microsoft Office Access ne peut pas trouver d'enregistrement dans la table <name> avec le(s) champ(s) <name> correspondant à la clé.
D'où vient mon problème svp ? Cela fait deux jours que j'y suis, pas moyen de trouver. Ma requête SQL étant bonne.
A bientôt.
16 réponses
-
ModérateurSalut,
si tu passes ta requête en dehors de tout formulaire, as-tu un résultat ?
-
oui
-
ModérateurVa falloir développer tes réponses, parce que là, j'ai du mal à imaginer...
Quel est le texte complet de ta requête ?
-
Dans mon schéma relationnel, j'ai plusieurs tables dont une table "Client", une table "Amener par" et une table "fiche".
Dans ma table Client, ma clé primaire est numcli. (nom, prenom etc...)
Dans ma table Fiche, il y a numfiche et année.
Et dans ma table Amener par, il y a numfiche, année et numcli.
Je souhaite enregistrer des fiches via un formulaire. Je souhaite que l'utilisateur puisse choisir entre plusieurs clients via une liste déroulante (qui est donc dans mon sous-form).
Ma requête en question :
SELECT DISTINCT [RequeteAmenerpar].[numfiche], [RequeteAmenerpar].[annee], [RequeteAmenerpar].[numcli], [RequeteAmenerpar].[nom] FROM RequeteAmenerpar; -
svp :(
-
ModérateurLe message d'erreur donne bien le nom d'une table et d'un champ ?
-
Oui, c'est écrit :
Le moteur de base de données Microsoft Office Access ne peut pas trouver d'enregistrement dans la table <T-Client> avec le(s) champ(s) <T-Amenerpar_numcli> correspondant à la clé. -
Personne ?
-
Pourtant il y a bien la jointure :
SELECT DISTINCT [T-Amenerpar].numfiche, [T-Amenerpar].annee, [T-Amenerpar].numcli, [T-Client].nom
FROM [T-Client] INNER JOIN [T-Amenerpar] ON [T-Client].numcli = [T-Amenerpar].numcli; -
Il me parle de "T-Amenerpar_numcli", mais c'est plutot un point entre les deux... Je ne comprend pas :-/
-
T-Amenerpar_numcli c'est la source de contrôle de la liste en plus ! ! !
-
Euh... oui ? et donc ?
-
Je n'ai pas encore résolu le problème jusqu'à ce jour... :-/
-
ModérateurQuel code est affecté à la propriété lorsque tu saisis une valeur ?
-
Aucun code VBA.
Bon je peux choisir certains clients et d'autres non car cela m'affiche l'erreur plus haut. Surment un problème de doublon car j'ai par exemple :
annee numfiche nom
2006 - 12 - Robert
2008 - 178 - Robert
2010 - 2455 - Robet -
ModérateurCe qui est étonnant, c'est que le message survienne après un choix dans une liste, il y a donc forcément du code quelque part qui réagit à cette saisie...
Peut-être la source du sous-formulaire ?