Erreur 3101 sur ACCESS

Eve -  
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   -
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.

16 réponses

blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Salut,

si tu passes ta requête en dehors de tout formulaire, as-tu un résultat ?
0
Eve
 
oui
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Va falloir développer tes réponses, parce que là, j'ai du mal à imaginer...

Quel est le texte complet de ta requête ?
0
Eve
 
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;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Eve
 
svp :(
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Le message d'erreur donne bien le nom d'une table et d'un champ ?
0
Eve
 
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é.
0
Eve
 
Personne ?
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Si, y'a du monde, mais ici, c'est pas un chat... donc, on répond quand on a le temps...

Il faut que tu regardes dans ta requête [requeteamenerpar], tu dois avoir la clé du mystère, il doit y avoir un where qui n'est pas vérifié...
0
Eve
 
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;
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Le champ concerné est T-Amenerpar_numcli, n'y-a-t'il pas confusion avec [T-Amenerpar].numcli ?
0
Eve
 
Il me parle de "T-Amenerpar_numcli", mais c'est plutot un point entre les deux... Je ne comprend pas :-/
0
Eve
 
T-Amenerpar_numcli c'est la source de contrôle de la liste en plus ! ! !
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Il faut savoir quelle est sa valeur au moment où l'on appelle la requête...
0
Eve
 
Euh... oui ? et donc ?
0
Eve
 
Je n'ai pas encore résolu le problème jusqu'à ce jour... :-/
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Quel code est affecté à la propriété lorsque tu saisis une valeur ?
0
Eve
 
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
0
blux Messages postés 27133 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Ce 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 ?
0