antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 2011
-
25 oct. 2007 à 15:47
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
26 oct. 2007 à 15:53
En VB6, je code ceci :
Rqte "select replace(vl, ".", ",") from fonds where designation 'BTP ACTIONS'"
Set Rst3 = New ADODB.Recordset
Rst3.Open Rqte, BaseConnect, adOpenStatic, adLockReadOnly
A l'exécution, l'erreur suivante se produit :
Fonction 'replace' non définit dans l'expression.
C'est très important pour moi, pourriez-vous m'aider svp. Mon problème est l'utilisation de la fonction "replace" en SQL dans du code VB.
Rem : cette requête s'exécute très bien directement dans access.
''***************************************************************************
...à votre service
Thanks & Peace
Tonio
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 20113 25 oct. 2007 à 15:53
Pour info, je dois faire une somme du champ [vl], de type texte, avec un "." pour séparer les décimales (pas possible d'avoir un autre format de donnée, obligatoirement du texte). Dans mes paramètres régionaux, si je change le séparateur des décimales par un "." alors la fonction "replace" dans ma requête SQL n'est plus nécessaire et je ne rencontre plus de problème. Mais, au final, je devrais laisser le séparateur des décimales en ",". Ce message est juste pour info. Mon vrai problème est l'utilisation de la fonction "replace" dans une requête SQL exécutée via VB.
''***************************************************************************
...à votre service
Thanks & Peace
Tonio
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 20113 25 oct. 2007 à 16:00
Plus explicitement :
tblVentes[NumVente;montant;produit] ex : [01;102.60;chocolat][02;56.80;chocolat]
Je désires obtenir la somme des montants.
Pour faire une somme, je doit obligatoire remplacer le "." du champ [montant] par une ",".
Rqte "select sum(replace(montant, ".", ",") from tblVentes where produit 'chocolat'"
Set Rst3 = New ADODB.Recordset
Rst3.Open Rqte, BaseConnect, adOpenStatic, adLockReadOnly
A l'exécution, l'erreur suivante se produit :
Fonction 'replace' non définit dans l'expression.
''***************************************************************************
...à votre service
Thanks & Peace
Tonio
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 20113 26 oct. 2007 à 14:25
si j'exécute la requête directement sous Access, aucun problème.
Mais le "truc" c'est que j'exécute cette requête via VB (relis mon 1rst message) et "il" me rend un erreur de "type de donnée incomptible" dû au "." car le séparateur décimal, dans les paramètres régionaux, est la ",". Voilà... en changeant les paramètres régionaux, ça tourne bien et me rend la sum juste en faisant un "sum(val)"... me comprends-tu ? :)
''***************************************************************************
...à votre service
Thanks & Peace
Tonio
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 26 oct. 2007 à 14:49
je te comprend très bien !
le fait est que Replace est reconnue par VB et reniée par Access.
Si tu pouvais mettre à jour ta table sous VB avec Replace avant d' envoyer la requete...
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 20113 26 oct. 2007 à 15:46
Dans VB6, j'exécute ma requête via ADODB, rst.open requete, base...
Dans ma requête, en mettant "select sum(val(montant)) from..", ça me rend bien un nombre avec "," et décimales.
DONC, pour moi c'est tout bon... merci. PEACE
''***************************************************************************
...à votre service
Thanks & Peace
Tonio