Tu as oublié l'accent à datecréation. D'ailleurs il vaut mieux éviter les accents Modifie la structure de ta table
Tu as oublié l'accent à datecréation. D'ailleurs il vaut mieux éviter les accents Modifie la structure de ta table
J'ai aussi supprimé description dans l'entité document puisque on l'a déja dans l'entité solution et c'est les mêmes.
Le mieux reste encore de tester. Ca fait un moment que j'ai plu manipuler access
Il faut voir si tu peux supprimer une relation entre un problème et une solution par exemple sans avoir au préalable supprimer la solution et le problème concernés. Par contre, dans le cas d'une suppression d'un problème ou d'une solution, les relations relatifs à l'objet de la suppressions doivent disparaitre.
je pense que je vais passer mon aprem à rentrer 3 ou 4 exemples et ensuite je vais tester pour différents résultats à afficher et puis suppression des différents problèmes sachant que pour le moment, la suppression reste pas nécessaire puisque c'est une aide pour la résolution de maintenance.
Et si un problème n'est plus d'actualité?
Si un problème concerne un modèle qui n'est plus en vente depuis 1972 par exemple. Il serait bien de pouvoir dégager ce problème de ta BDD
Exact, j'avais pas pensé à ce cas de figure
Donc intégrité référentielle très importante.
Petit soucis dans l'enregistrement de mon deuxieme exemple, quand je rentre le numprob et la codemodele dans avoir le premier exemple a bien marché mais le deuxieme quand je rendre le code modèle il me dit :" Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table modèle alors que j'ai rempli déjà dans la table modèle.
C'est difficile de répondre avec aussi peu d'éléments ... Tu t'es peut être tromper dans la saisie des infos
bizarre, j'ai fermé et réouvert ma bdd et la ca marche.
j'ai enfin saisi mes 3 exemples mais petit soucis pour la première requête que je veux exécuter.
Je veux afficher la solution aux problèmes ayant pour mots clés hp et garantie et comme modèle dv9575em.
ma requête c'est ça:
select description,titre,emplacement,datecreation,datemodif
from document,solution,modele,correspondre,avoir,motscles,associer
where document.numdoc=correspondre.numdoc
and correspondre.numsolution=solution.numsolution
and probleme.numpb=avoir.numpb
and modele.codemodele=avoir.codemodele
and probleme.numpb=associer.numpb
and associer.nummots=motscles.nummots
and nom="hp"
and nom="garantie"
and modele.codemodele="dv9575em"
sauf qu'il m'ouvre une boite de dialogue comme tout à l'heure pour probleme.numpb
select solution.description,titre,emplacement,datecreation,datemodif
from document,solution,modele,correspondre,avoir,motscles,associer,contenir,probleme
where document.numdoc=correspondre.numdoc
and probleme.numpb=contenir.numpb
and contenir.numsolution=solution.numsolution
and correspondre.numsolution=solution.numsolution
and probleme.numpb=avoir.numpb
and modele.codemodele=avoir.codemodele
and probleme.numpb=associer.numpb
and associer.nummots=motscles.nummots
and nom="hp"
and nom="garantie"
and modele.codemodele="dv9575em"
dans l'ancienne j'avais oublié pas mal de tables, celle ci est meilleure mais me renvoie que des résultats vides.
[edit] j'ai peut etre trouvé j'ai enlevé un mots clés et la ca marche parce que 2 fois nom peut pas etre egaux mais ca pose le probleme que comment fait on pour avoir plusieurs mots clés. Je viens d'essayer avec IN mais bon ca me renvoie deux résultats identiques.
Ou alors je récupère les mots clés qui correspondent au problème mais nan ca change rien, ca va me retourner un numero de probleme mais ca nous avance pas.
Je pense que tu devrais pas te lancer dans des requêtes aussi complexes. Tu va très vite t'y perdre. Le mieux c'est que tu te fasses une petite appli à côté qui récupère tes données par des requêtes simple et qui les traites.
J'ai pas tout compris
beh je vois pas une autre solution que ces requêtes puisques en faisant ces requêtes on simule ce que l'utilisateur peut faire.
L'appli ca ne peut etre qu'un formulaire mais sous ce formulaire on est bien obligé de faire des requêtes pour afficher les résultats de la recherche.
Tu n'es pas nécessairement obligé de réaliser la totalité des fonctionnalités du côté de la base de données.
Quoiqu'il en soit tu devrais réorganiser ta requête en utilisant des sous-requêtes. Par exemple, tu sélectionnes dans un premier temps touts les problèmes concernant la marque rentrée par l'utilisateur et tu effectues une requête sur le résultat pour la gestion des mots clefs.
SELECT solution.description,titre,emplacement,datecreation,datemodif,nom
FROM document,solution,modele,correspondre,avoir,contenir,probleme
WHERE document.numdoc=correspondre.numdoc
AND probleme.numpb=contenir.numpb
AND contenir.numsolution=solution.numsolution
AND correspondre.numsolution=solution.numsolution
AND probleme.numpb=avoir.numpb
AND modele.codemodele=avoir.codemodele
AND modele.codemodele="dv9575em"
AND EXISTS (SELECT 1 FROM motscles,associer WHERE associer.nummots=motscles.nummots AND probleme.numpb=associer.numpb and nom IN ("hp","garantie"))
voici la requête que j'obtiens et qui renvois qu'une ligne.
Je vois pour la premiere partie mais pour la deuxieme partie sur comment effectuer une requête sur le resultat pour la gestion des mots clés.tu sélectionnes dans un premier temps touts les problèmes concernant la marque rentrée par l'utilisateur et tu effectues une requête sur le résultat pour la gestion des mots clefs.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager