Probleme de requete sql

Fermé
smata Messages postés 7 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 5 janvier 2010 - 22 oct. 2008 à 18:04
 Utilisateur anonyme - 24 oct. 2008 à 17:46
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

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
23 oct. 2008 à 08:42
Bonjour,
attention au nom de la variable

val($txtmatricule)

Non ?
-1
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 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 5 janvier 2010
23 oct. 2008 à 13:24
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
22 oct. 2008 à 18:07
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 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 5 janvier 2010
23 oct. 2008 à 13:20
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
23 oct. 2008 à 14:21
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 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 5 janvier 2010
24 oct. 2008 à 11:37
bonjour,
toujous pas de solution!!!!!!
-1
Utilisateur anonyme > smata Messages postés 7 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 5 janvier 2010
24 oct. 2008 à 17:46
désolé je ne connais pas VB6
-1