Bonjour à tous,
Tout d'abord, mon problème ne concerne pas spécifiquement une requête Access, mais il y est (je pense) très fortement lié, donc je poste ici !
Bon alors, voici mon problème !
J'ai une appli Access en phase de conception. Les tables ont été créées sous Microsoft SQL Server 2008 (ainsi que les vues), les formulaires et le code ont ensuite été ajoutés sous Access (version 2002/XP).
L'application compte 6 tables. Une requête assemble ces tables pour n'en former qu'une et, au final, un formulaire utilise tous les champs résultats.
Pour le principe, voilà ce que ça donne avec un exemple simple :
1) TB_PROJET avec "ID, Nom, Prénom, Age"
TB_ADRESSE avec "ID, Numero_de_rue, Nom_de_rue"
TB_PARENTS avec "ID, Nom_du_pere, Nom_de_la_mere"
2) La "vue" créée sous SQL Server 2008 donne une unique table avec :
"ID, Nom, Prenom, Age, Numero_de_rue, Nom_de_rue, Nom_du_pere, Nom_de_la_mere"
3) Un formulaire avec plusieurs onglets pioche dans le résultat les champs :
Onglet 1 intitulé "Identité" : Nom, Prenom, Age
Onglet 2 intitulé "Adresse" : Numero_de_rue, Nom_de_rue
Onglet 3 intitulé "Parents" : Nom_du_pere, Nom_de_la_mere
Au pied du formulaire, on a accès au sélecteur pour choisir l'enregistrement voulu.
Lorsqu'on choisit, par exemple, le 50ème enregistrement sur 150, tout se passe bien ; les données s'affiche dans les champs, il est possible de les modifier, etc. 
Toutefois, et c'est là mon problème (enfin ! me direz-vous
), lorsque je vais à l'enregistrement 151 sur 150 (formulaire vierge, donc, pour entrer un nouvel enregistrement), les champs vides s'affichent bien... mais je ne peux rien taper à l'intérieur... Aucun message d'erreur où que ce soit, mais impossible d'entrer la moindre donnée. 
Quand j'essaie de rentrer la valeur via la requête en elle même (double clic sur la requête et remplissage d'une ligne), le message obtenu est :
"Violation de la clé primaire PRIMARY KEY "ID". Impossible d'insérer une clé en double dans l'objet 'TB_PROJET'."
Voilà... Donc a priori, un problème de clé (ça, je l'ai compris). Mais mon ami Google ne m'a pas aidé bcp plus... Donc je viens vers vous !
En tout cas, j'espère avoir été clair dans mes explications ^^ Si quelqu'un a une piste, je suis preneur. Je suis arrivé à la limite de mes compétences !
Merci d'avance à vous ^^
Partager