ludo782
Messages postés8Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 août 2008
-
27 janv. 2005 à 15:55
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012
-
1 févr. 2005 à 13:28
je suis étudiant et je dois réaliser une application pour le suivi de
compétences d'élèves. Pour cela, j'ai une bdd avec une table 'Eleves' contenant le nom, le prénom et la classe. Une table 'Evaluer' liée à deux tables 'Niveau1' et 'Niveau2' et à la table 'Etudiant'
Je souhaite afficher les données dans une DataGrid après ouverture d'un recordset avec une requête SQL. voila ma requête:
Elle me semble correcte (strNom, strPrenom et strCLasse sont des
variables contenant la sélection de l'élève à afficher) mais au
lancement, j'ai ce message
"Erreur d'éxécution '-2147217904 (80040e10)':
Aucune valeur donnée pour un ou plusieurs des paramètres requis"
et la ligne d'ouverture du recordset est surlignée....
Manu94600
Messages postés107Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention20 février 2008 27 janv. 2005 à 19:50
Je pense pouvoir t'aider, si tu m'etais ton MLD.
Effectivement tu ne doit pas faire ta jointure avec le nom, ni le prenom mais avec l'id_eleve. Tu as de grave problème dans ta requete, les jointures se font entre clé primaire et clé etrangere.
Je te demande de mettre ton MLD (j'espere que tu sais c koi), car dans ta table eleve il doit y avoir un id_eleve (identifiant).
ex MLD: Eleve(Id_eleve, nom_eleve, prenom, #Id_classe)
Classe(Id_classe, Libellé)
La clé primaire est souligné et # signifie que c une clé etrangere
Ici la jointure = Eleve.Id_classe=Classe.Id_classe
Mais je pense pouvoir t'aider, je vien d'obtenir mon BTS IG.
ludo782
Messages postés8Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 août 2008 28 janv. 2005 à 08:54
Effectivement je liais les tables avec le nom et le prénom de l'élève,
j'ai modifié mes tables en ajoutant un id à chaque élève (je pensais
pouvoir laisser le nom et le prénom en tant qu'id en les mettant en clé
primaire). donc j'ai trois tables :
1_1, 1_2 ...sont des booléens (compétences) à valider au fur et à
mesure de l'apprentissage, ils vont jusque 5_4 (il y en a 18 pour
chaque niveau)
J'ai modifié mes tables, mon MCD et ma requête sous VB, la requête doit
être mal tapée, j'ai un message d'erreur maintenant m'informant
" Erreur de syntaxe dans la date dans l'expression ' E.classe_eleve '6 A' AND E.nom_eleve 'n6' AND E.prenom_eleve = 'p6' AND E.num_eleve
= N.num_eleve#'.
Je vous mets ma requête parce que je ne vois vraiment pas où il y a
problème sachant que je récupère la classe, le nom et le prénom des
élèves dans trois listBox
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 28 janv. 2005 à 09:29
Bon tu fais comme tu veux mais...
salut,
Simplement si je te conseil de nous envoyer la requête telle que tu l'obtiens à l'execution c'est pas pour t'embêter :
<li>C'est pour, d'une part, t'obliger à utliser le mode débugage </li>
<li>Lire la requete tel qu'elle est exécutée et ainsi te permettre de
te corriger toi même si l'anomalie est évidente mais que tu n'arrive
pas à la voire dans le code</li>
Perso je trouve que le sql écrit de cette façon est plus simple à lire et à maintenir :
ludo782
Messages postés8Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 août 2008 1 févr. 2005 à 11:10
Bonjour,
J'ai retravaillé toute la base avec mon professeur, elle fonctionne, ce
qui ne marchait pas auparavant venait du fait que les clefs primaires
ne pouvaient être le nom ou le prénom...
Par contre, je n'ai jamais utilisé le mode 'Débogage' et je ne sais pas
comment afficher la requête par ce mode, mais je serais intéressé de
connaître son fonctionnement.
Sinon, une dernière question, c'est pour l'affichage des booléens dans
la flexgrid (est-ce que c'est possible de les afficher sous forme de
chekbox à l'intérieur de la FG?), sachant que lorsque j'affiche du
texte, je le fais sous la forme
FgNiveau1.textmatrix(0,1) = strNom
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 1 févr. 2005 à 13:28
Content de t'avoir donné la bonne orientation...
Pour ta question concernant le flexgrid, j'en sais rien faut
chercher... Et comme tu le verras chaques objets à ses propres
caractéristiques, faut faire tes courses ;-).
Pour passer en mode debug, c'est vraiment simple : il te le demande
désqu'il y a une erreur (pas boooon :-) ) mais efficace. Il suffit de
dir Oui
Sinon tu positionnes ton curseur dans ton code sur une valorisation de
variable ou un appel de fonction tu appuies sur la touche F9 et un
point d'arrêt va être pris en compte : la ligne passe en surlignage (le
standart est fond rouge sur blanc) avec un point dans la marge...
Ensuite tu lances ton code et dèsque l'exécution atteint le marqueur tu
peux suivre pas à pas l'exécution du prog. Tu selectionne une variable
clic droit ajouter un espion... pour accéder à la variable.
En mode débugage, il y a aussi une fenêtre d'exécution qui permet de
forcer une valeur en particulier... d'agir donc sur le comportement du
programme en cours d'exécution.