Pb avec access
RésoluJ'aurais 2 probleme a resoudre:
Le premier c'est j'ai une relation entre deux tables qui ne se fait pas alors que mes elements en relation sont parfaitements identiques et que toutes les autres relations entre mes autres tables fonctionnent
Le deuxieme, j'aimerai savoir comment on fait le lien entre plusieurs listes d'un formulaire, (c'est a dire qu'en cliquant sur un element de la premiere liste, ca me selectionne tous les enregistrements lies (a cet element) dans une deuxieme liste
Mon patron commence a s'enerver parce que je ne fais plus grand chose!!!!!!!!!!!!
Donc si vous avez la reponse a au moins une des questions ou si vous vous connaissez qqn qui a une reponse, ca m'interesse tres fortement
D'avance je vous remercie pour tous ceux qui repondront
(je dois ajouter que je ne suis que debutant sur access 2000)
Configuration: Windows XP Internet Explorer 6.0
24 réponses
Deux problèmes sont discutés en Access 2000: une relation entre deux tables ne se forme pas malgré des données identiques et le lien entre listes d'un formulaire ne sélectionne pas les enregistrements liés. Des réponses évoquent des causes possibles comme des incompatibilités de type entre champs (numérique vs caractère) ou des clés primaires dupliquées, et des cardinalités mal définies. Pour résoudre, plusieurs suggèrent de repenser le modèle: éviter les données identiques réparties sur plusieurs tables, par exemple créer une table 'formation' avec un champ 'type' et ajuster les cardinalités. En matière de liaison entre listes, des conseils portent sur l'utilisation de sous-formulaires et la définition des liens maître/clé enfant, ainsi que des tests de sources comme les RowSource pour déboguer.
-
Faux espoirs
j'ai encore un tout petit pepin: dans mon formulaire j'ai rajoute un troisieme critere de choix (machine)( une troisieme liste quoi) et la preselection ne se fait pas alors que si je selectionne la bonne machine de la societe, ca m'affiche bien la fiche client voila-
-
@bluxOui, evidemment!!!!! j'ai remplis les champs pere et fils comme il faut mais ma preselection ne se fait pas
-
@seblekiller_oupasSi jamais tu es encor la dis moi juste si tu sais comment faire (s'il te plait) car c'est le tout dernier pb dans ce formulaire merci quand meme
-
Modérateur@seblekiller_oupasJe suis de retour.
J'en reste à ce que j'ai dit : tu dois avoir trois nom de zones séparées par des points-virgules comme champs pères et trois noms de colonnes séparés par des points-virgules comme champs fils.
Et bien entendu, il faut que les 3 champs fils soient présents dans la requête/source du sous-formulaire...
-
@bluxAh! je crois que le probleme c'est ce quil y a ecrit apres: requete source/formulaire, c'est peut etre fait mais je ne vois pas ce que c'est!
Par contre je vais faire des modifs sur mes formulaires et ce ne sera surement pas ma derniere question!! desole
-
-
ca ne me met strictement rien donc desole mes tu vas voir ma base et c'est le formulaire F_Liste voila si tu as 5 minutes amuse toi bien
https://www.cjoint.com/?fglDwfA4mH
(Ca y est j'ai completement decroche lol)-
-
Modérateur@seblekiller_oupasmets ta base en .zip...
-
@bluxmeme en .zip il est tros gros il fait quasiment 1 mega donc la?! parce qu il veut pas me faire le lien
-
-
Modérateur@seblekiller_oupasDéjà : mauvaise variable affichée stSsql et non strsql, donc affichage de "rien" puisque la variable est vide
Ensuite mauvaise requête : ta condition where est sur nomcontact alors qu'elle doit être sur nomsociété...
Tu aurais pu tester la requête en la tapant librement sous access (fenêtre requetes, en mode sql), tu aurais vu que ta clause where n'était pas la bonne...
-
-
Modérateuravant Modifiable2.RowSource = StrSql
tu mets msgbox StsSql et tu regardes ce que ça affiche... au besoin colle la boite sur cjoint
-
Excuse moi mais j'ai comme un bug j'arrive plus a lire les messgaes et ca m'embete un peu!!
-
Salut blux je ne sais pas si tu es renrte de week end, mais j'aurais encore besoin de toi!
En fait, tu m'as envoye au message 32 un petit exmple.
C'est exactement ce qu'il me reste a faire sauf que j'ai beaucoup de mal a refaire ce que toi tu as fait;
serait-ce possible d'avoir ton aide ou pas??? Car dans le fond, il ne me reste plus que ca!!-
-
@bluxEcoute voila: comment as tu fait pour faire ce petit bout de formulaire parce que je n'arrive meme pas a le refaire!!!!
donc pour le faire sur ma base je suis pas pres d'y arriver!!!!
Juste pour description, ce que je veux faire, c'est a la place de ta liste pays, moi je mets NomSociete, a la place de ta liste pays je mets NomContact et dans la derniere zone de texte j'aimerais affixher tous les autres parametres -
@seblekiller_oupasDe plus est-ce qu'il peut y avoir un conflit entre ces relations???
https://www.cjoint.com/?ffk2yXMyOh -
Modérateur@seblekiller_oupasY'a un peu de code sur les actions rattachées aux objets et des propriétés à définir... Regarde un peu le formulaire en mode création...
Pour ton souci de relations, je ne sais pas, mais ce que je vois, c'est que tu as des données identiques dans des tables différentes, pourquoi ne pas avoir créé une table 'formation' avec un champ 'type' où tu aurais mis 'interne' ou 'phenix' ?
A mon avis, tu vas avoir des problèmes un jour, quand tu chercheras des données.
-
@bluxouais et ce jour est arrive!!
c'est ce que je suis en train de chercher et j'ai vu qu'il y avait un probleme donc je vais essayer de modifier ca
En meme temps j'ai remarque autre chose: si je met des tables "machine_01", "machine_02"....... en paralleleavec une meme cle secondaire presente dans chacune de ces tables, est-ce que ca peut marcher? ou il y aura encore des problemes de relations
-
-
-
ModérateurBon, ça va pas être simple du tout !!!
Une relation n-n doit passer par une table intermédiaire (qui reprend en clés primaires les clés des deux tables qu'elle joint) avec 1-n et n-1 de l'autre côté.
Changer une relation de 1-n en 1-1 veut dire (dans la théorie) fusionner les deux tables...
Pis en plus, t'as pas de chances, car je suis en congés à midi...
Jette un oeil ici, pour voir les cardinalités :
http://www.sam-mag.com/P53,53,5,43,,,default.aspx
Peut-être qu'ensuite, tu reverras ton modèle de données...
-
@bluxet bin ecoute bon week end alors!!!! je regarde et j'essaierais d'en tirer les bonnes conclusion merci fort bien
-
-
apres je te laisse tranquille mais est-ce que tu sais si on peut modifier une cardinalite ou pas?
-
-
@bluxoula certe elle est mal concu ca je l'ai vu!!!!! mais en fait je voudrais transformer les cardinalites entre les dernieres tables parce qu'en realite, elles sont fausses!!!!! voila mais ca me parait bien complique
-
-
-
oups je m'excuse platement mais effectivement oui je t'autorise gracieusement a faire autre chose je suis juste un peu stresse pour aucune raisons valables cela ne se reproduira plus (ca devrait suffire!) Mais fais ce que tu veux et oublie le dernier message
-
-
@bluxJ'ai bien regarde ta base d'ailleurs merci ca va pas mal m'aide et enfin juste derniere question: est-ce que l'on peut mettre simplement l'affichage du resultat obtenu ds une requete? Si oui comment? et si non,merci je me debrouillerais avec ca
-
Modérateur@seblekiller_oupasest-ce que l'on peut mettre simplement l'affichage du resultat obtenu ds une requete?
Je ne comprends pas ta question : une requête renvoie un résultat, je ne vois pas comment on peut mettre cette donnée issue d'une saisie 'manuelle' dans un résultat d'une requête exécutée ailleurs...
-
@bluxPar la, je voulais dire dans les criteres d'une requete
-
Modérateur@seblekiller_oupasJe comprends mieux.
Une requête-type qui ressort le nom de pays à partir de la ville saisie, elle n'a aucun intérêt puisqu'on a déjà choisi le pays avant, mais c'est pour la syntaxe qui recherche une valeur dans une zone de formulaire :SELECT Pays.Pays FROM Pays INNER JOIN Villes ON Pays.Id_Pays = Villes.Id_Pays WHERE (((Villes.Ville)=[Formulaires]![Principal]![Aff_Ville]));
--
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
-
j'ai dit qulque chose qui fallait pas?!
-
Donc deja effectivement ca fait 2-0 pour toi et ensuite je vois pas trop le sens de "sur changement dans liste1", et ensuite " valeur de liste1" ca marche si on ecrit valeur de ..... (et oui je n'y connait pas grand chose!)
-
Bon en fait je suis un put... de gros boulet en fait mon pb c'etait un " ` " qui s'etait glisse sur la derniere ligne de mon tableau et ca me faisait ch... depuis 2 semaines!!!!!!!!!!!!! il faut m'euthanasier les gars mais juste avant est-ce vous avez une solution pour mon DEUXIEME pb? ;-)
-
Modérateurmon pb c'etait un " ` " qui s'etait glisse
ACCESS se trompe rarement quand il s'agit de vérifier une intégrité référentielle...
CQFD !
est-ce vous avez une solution pour mon DEUXIEME pb?
Il faut sûrement claquer un peu de VBA pour mettre à jour le rowsource de la deuxième liste.
Du genre : sur changement dans liste1, créer une requête 'select toto,tata from pouet where machin = valeur de liste1
mettre en rowsource de la liste2, cette requête...
-
-
Donc j'ai bien fait une requete et j'ai aussi copie les 2 champs dans le bloc note pour verifier d'une autre maniere; si tu veut je te montre les champs!!!!!!!!
Ensuite je parlais du 2eme probleme, autant pour moi -
C'est vrai ca fait 1.5-0 parce que pour ce qui est de l'erreur je suis sur a 100% qu'elle ne vient pas de la quand a l'autre point en fait je deviens de plus en plus d'accord en fait.
Et sinon pour mon premier probleme vous savez comment faire? ou pas!?-
Modérateurje suis sur a 100%
C'est généralement la première cause d'erreur... :-)
As-tu fais une requête de non-correspondance entre les deux tables pour voir de manière simple si toutes les données de n sont présentes du côté 1 ? Parce que je n'en démordrai pas, cela vient de là (j'en suis sûr à 99,9% ;-))
Et sinon pour mon premier probleme vous savez comment faire? ou pas!?
ben, c'est celui-là, non ?
-
-
un point pour blux ... il est fort probable que l'erreur vienne de là ... et un point de plus quant à l'identifiant numérique (des Jean Durand il y en a par centaines dans les annuaires).
-
oui tous les noms ont ete verifies et ils sont identiques par contre pour ce qui est de prendre des identifiants numeriques je crois que mon superieur ne veut pas trop pour ne pas compliquer trop les choses mais je vais lui en parler; enfin je vois toujours pas ce qui ne va pas!!!
-
-
https://www.cjoint.com/?eDn1uGOppI
voila desole, ca marche mieu en jpg!-
ModérateurEst-ce que tous les 'NomContact' de la table 'Formation Phenix' sont présents dans la table 'Contacts', et avec la même orthographe ?
D'où l'intérêt de travailler avec des identifiants numériques (genre Id_Contact) et pas des identifiants alphabétiques (si une femme se marie ou divorce et change de nom ?)
-
-
j'ai deja essaye plus haut et ca me met lien plus dispo!
-
ModérateurQuand tu vas sur https://www.cjoint.com/ , tu ne dois pas avoir de problème de lien...
ton fichier est-il gros ? essaye de l'enregistrer en jpg...
-
-
Pourtant j'ai verifie chaque ligne du champ et tout ce qui se trouve du cote n eststrictement identique du cote 1 j'y ai passe une heure et demi pour verifier un par un les enregistrements
-
bonjour,
2 causes possibles pour ton problème : tu veux faire une relation sur 2 champs qui ne sont pas du même type (un de type numérique et l'autre de type caractères par exemple), ou dans ta relation tu veux dupliquer une clé primaire, ce qui n'est pas possible dans une table. Ce qui veux dire que la cardinalité n'est pas bonne.
zak-
-
-
Modérateur@seblekiller_oupasTu fais une 'impression écran', tu colles ça dans paint, tu enregistres, tu vas sur cjoint.com et tu choisis ton fichier, ensuite tu postes le lien...
-
- 1
- 2