Erreur dans une requette SQL

fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006 - 24 avril 2006 à 09:29
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006 - 24 avril 2006 à 16:50
bonjours à tous
j'ai la requette SQL suivante :
sql_charge = "SELECT Min([Traffic_chargé]) As ValMini,[50%HR] FROM [table de trafic_50%HR] WHERE ([Traffic_chargé]>=" & Cdbl(Enreg("[traffic_ete_2006]")) & ") GROUP BY [50%HR];"
Set Enreg_charge = DBA.OpenRecordset(sql_charge)


j'ai un problème avec cette requette sql
lorsque je l'exécute un message d'erreur s'affiche est le suivant:
virgule dans l'expréssion:
([Traffic_chargé]>=" & Cdbl(Enreg("[traffic_ete_2006]")) & ")
càd la valeur Cdbl(Enreg("[traffic_ete_2006]")) contient un virgule par exemple :
Cdbl(Enreg("[traffic_ete_2006]"))=35,45566 et [Traffic_chargé]=25.366
j'ai compris que la requette ne s'éxecute pas à cause de cette virgule
merci de me corriger cette erreur

14 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 09:40
remplace la virgule par un point ^^

35.45566

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 09:47
merci mais comment je peut remplacer la virgule par un point sachant que je ne peux pas changer tous les enregistrements de ma table
svp comment dépasser ce problème
A+
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 09:49
les champs incriminés ne sont pas numériques, dans ta base ?

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 09:58
il sont numérique et je ne comprend pas pourquoi ca marche pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 10:34
ça ne fonctionne pas à cause de la virgule....

met des quotes en place....

WHERE ([Traffic_chargé]>= '" & Cdbl(Enreg("[traffic_ete_2006]")) & "') GROUP

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 10:37
merci lorsque je met entre cote une autre erreur s'affiche
type incompatible
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 12:17
Type incompatible ?

ça, c'est VB qui hurle....

donne moi ta ligne de code stp

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 12:25
voila le code :
If Enreg![traffic_ete_2006] > 0 And Enreg![traffic_ete_2006] <= gr_val Then

sql_charge = "SELECT Min([Traffic_chargé]) As ValMini,[50%HR] FROM [table de trafic_50%HR] WHERE ([Traffic_chargé]>=" & CStr(Enreg("[traffic_ete_2006]")) & ") GROUP BY [50%HR];"

Set Enreg_charge = DBA.OpenRecordset(sql_charge)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 12:42
essaye :

sql_charge = "SELECT Min([Traffic_chargé]) As ValMini,[50%HR] FROM
[table de trafic_50%HR] WHERE ([Traffic_chargé]>='" & Enreg("[traffic_ete_2006]") & "') GROUP BY [50%HR]"

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 14:22
avec cette solution l'erreur est: type incompatible puisque
Enreg("[traffic_ete_2006]") devient de type char et [Traffic_chargé] de type numérique
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 14:59
Type incompatible est une erreur de VB....

pour VB, ta requete SQL n'est qu'une chaine de caractère.... il se fiche bien du type de ton champ.

pourquoi utilises tu la notation :

Enreg![traffic_ete_2006]
et d'autres fois....
Enreg("[traffic_ete_2006]")

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 16:20
c'est la meme chose pour les deux notations et donne le meme résultat
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2006 à 16:43
le même chose, oui, je sais, mais tu utilises tantot l'un, tantot l'autre, c'est. étrange ^^

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
fehmichebaane Messages postés 43 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 27 juin 2006
24 avril 2006 à 16:50
si on utilise la meme notation est -ce possible de corriger l'erreur ??
0
Rejoignez-nous