Probleme de requete sql

smata Messages postés 7 Statut Membre -  
 Utilisateur anonyme -
Bonjour,
J'ai un petit probleme avec une requete sql qui refuse de s'exécuter
Au fait j'ai un proget de gestion des heures de pointage des cours pour un collège.
Dans une de mes requetes j'aimerai effectué un recherche d'un enregistrement en fonction du matricule du professeur et du mois de pointage.Donc je vous écrit la requete:
"SELECT numfiche,matricule_personnel,mois,datepointage,heuredébut,heurefin,duree from T_fichepointage,T_pointage where matricule_personnel=val(txtmatricule) and mois=val(txtmois)"
explication:
val(txtmatricule)=étant la valeur du matricule qu'on veut rechercher
val(txtmois)=étant le mois pour lequel on désire visualiser les pointages effectués.

J'ai comme message d'erreur "Type de données incompatible"
Dans la base matricule_personnel est de type numérique et mois est de type texte
j'aimerai savoir comment faire la concaténation de deux variables de types différents.
JE vous remercie d'avance.Je compte sur vous pour pouvoir avancer dans mon projet.

4 réponses

redg
 
salut

Si cette requête est un copié-collé de ton développement, et que val([...]) est une fonction et pas une valeur que tu as remplacé pour l'exemple que tu cites, alors tu peux aussi essayer de sortir les val([...]) des guillemets.

ex [en PHP] :
"SELECT numfiche,matricule_personnel,mois,datepointage,heuredébut,heurefin,duree from T_fichepointage,T_pointage where matricule_personnel=".val(txtmatricule)." and mois=".val(txtmois)

on concatène les val([...]) avec le texte ce qui donne une chaine...

ex [si val(txtmatricule) vaut 123456 et val(mois) vaut 12] :
"SELECT numfiche,matricule_personnel,mois,datepointage,heuredébut,heurefin,duree from T_fichepointage,T_pointage where matricule_personnel=123456 and mois=12"

en espérant que ça aide
@+
0
Utilisateur anonyme
 
Bonjour,
attention au nom de la variable

val($txtmatricule)

Non ?
-1
redg
 
ah oui j'oubliais : la solution simple pour voir où est le problème serai aussi d'afficher ta requête à l'écran histoire de voir les valeur que tu envois ;)
@+
0
smata Messages postés 7 Statut Membre
 
req= "selectfp.numfiche,fp.matricule_personnel,fp.mois,code_class,code_matiere,datepointage,heuredeb,heurefin,duree,solde from [T_fiche pointage] fp ,T_pointage p " & _
"where fp.matricule_personnel=" & Val(Txtmatricule.Text) & _
"and fp.mois ='" & (Txtmois.Text) & "'"

je travaille sous vb6.0 avec une base de données access 2003.
matricule_personnel est de type numérique alors que mois est de type texte.

JE vous remercie et à trés bientot.
-1
Utilisateur anonyme
 
Bonsoir,

où exécutez-vous cette requ$ete, dans un programme php ?

"SELECT numfiche,matricule_personnel,mois,datepointage,heuredébut,heurefin,duree from T_fichepointage,T_pointage where matricule_personnel=val(txtmatricule) and mois=val(txtmois)"

alors le problème vient du faite que val(txtmatricule) et val(txtmois) écrit ainsi ne conteinnent pas les valeurs qui permettent de faire les comparaisons.
-1
smata Messages postés 7 Statut Membre
 
Je tiens à vous remercier de votre aide.
J'ai oublié de vous présicer que je travaille sur vb6.0 avec une base access 2003.
je vous renvoie la requête sql:
req= "select fp.numfiche,fp.matricule_personnel,fp.mois,code_class,code_matiere,datepointage,heuredeb,heurefin,duree,solde from [T_fiche pointage] fp ,T_pointage p " & _
"where fp.matricule_personnel=" & Val(Txtmatricule.Text) & _
"and fp.mois ='" & (Txtmois.Text) & "'"

dans la base matricule_personnel est de type numérique et mois est de type texte.Et je crois que l'erreur doit venir du fait que ces deux parametres sont de type différents.

Je vous remercie et compte sur vous.
-1
Utilisateur anonyme
 
Bonjour,
enfin on connait l'environnement VB6, access 2003, il eut été préférable de le dire plus tôt.
-1
smata Messages postés 7 Statut Membre
 
bonjour,
toujous pas de solution!!!!!!
-1
Utilisateur anonyme > smata Messages postés 7 Statut Membre
 
désolé je ne connais pas VB6
-1