Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : requête SQL dans code VB6 : fonction "replace" [ Base de données / SQL ] (antoine_ferard)

mercredi 19 septembre 2007 à 10:24:43 | requête SQL dans code VB6 : fonction "replace"

antoine_ferard

Je développe une appli en VB6 avec une base Acces.

J'ai besoin de récupérer via une requête SQL, la somme des achats sur 1 an.

La table ACHATS a une valeur [DACHAT] pour la date de l'achat et [MACHAT] pour le montant de l'achat.

Dans VB6, je créé une variable "Rqte" qui prend pour valeur la requête à exécuter. J'exécute cette requête de la manière suivante : 
       Set Rst1 = New ADODB.Recordset
       Rst1.Open Rqte, BaseConnect, adOpenStatic, adLockReadOnly

Mon problème est que la valeur  [DACHAT] est au format texte (impossible de le changer), et donc je dois la convertir dans la requête pour pouvoir tester que cette date est située dans la dernière année. Je fais comme suit :
      "select sum(machat) from achats where cdate(replace(dachat, ".", "/")) >= (date - 365)"

Il resort une erreur au niveau du "replace".
Désolé si c'est pas très clair mais si qqun à une solution ça serait cool. Merci

mercredi 19 septembre 2007 à 10:32:49 | Re : requête SQL dans code VB6 : fonction "replace"

lolokun

Salut,

Dans les requetes SQL les dates doivent être encadrées de #
Et regarde peut-être du côté de la fonction format..

mercredi 19 septembre 2007 à 10:37:49 | Re : requête SQL dans code VB6 : fonction "replace"

antoine_ferard

j'ai mis celà, désormais le problème est que la variable dachat n'existe pas. pouvez-vous m'aider.

...WHERE cdate('" & Replace(dachat, ".", "/") & "')>=cdate('18/09/2004')

mercredi 19 septembre 2007 à 10:44:41 | Re : requête SQL dans code VB6 : fonction "replace"

PCPT

Administrateur CodeS-SourceS
Réponse acceptée !
salut,
tu confonds la VB et l'SQL....

les fonctions VB sont executées avant la requête.
avant (énoncé) tu la mettais en dur dans la chaîne donc elle ne risquait pas d'être interprétée

ensuite (correction) tu sépares le code (ok) mais avec un nom de champs qui n'existe pas ENCORE puisque la requête n'est pas executée, donc forcément le champs est pris comme une variable qui n'existe pas non plus

tu ne pourras pas faire de test de chaîne proprement à cause des points

le seul moyen ici est de ne pas faire de WHERE, et de filtrer ensuite tes résultats, puisque là tu pourras tester la date et modifier comme tu veux

++


Prenez un instant pour répondre à ce sondage svp

mercredi 19 septembre 2007 à 10:45:55 | Re : requête SQL dans code VB6 : fonction "replace"

Nicko11

Salut,

je pense que tu dois, soit changer le type de données (text vers numeric) soit utiliser un recordset pour recupérer les donnée que tu souhaites manuellement pour effectuer ensuite ton traitement.



mercredi 19 septembre 2007 à 10:46:10 | Re : requête SQL dans code VB6 : fonction "replace"

lolokun

Dachat est un champ de ta table tu peux y accéder avec Rst1.fields("DACHAT')

mercredi 19 septembre 2007 à 10:48:51 | Re : requête SQL dans code VB6 : fonction "replace"

Nicko11

tu as une raison particuliere qui te pousse a choisir le format text pour ce champ.

mercredi 19 septembre 2007 à 11:00:57 | Re : requête SQL dans code VB6 : fonction "replace"

antoine_ferard

oui, je suis obligé de garder un format text pour le champ dachat, je vais finalement retenir la solution de PCPT... merci quand-même... peace



Cette discussion est classé dans : vb6, sql, replace, requête, achats


Répondre à ce message

Sujets en rapport avec ce message

Fonction dans requête SQL sous VB [ par tbbuim1 ] Bonjour à tous,J'ai une requête SQL sous Access qui utilise la fonction Replace et elle marche très bien.sql = "Select * from Table where Champ1 = Rep VB6 ADO SQL [ par JeffC1977 ] Salut...J'ai un petit problème que je ne suis pas capable de régler...Je veux faire une recherche dans un Base de Données Access et demandé dans ma Re VB6 ADO SQL [ par JeffC1977 ] Salut à tous..Je suis incapable de faire une requête afin de demander de me sortir tout les éléments non vide d'une colonne...Je veux que s'il y a du VB6 ADO Requête SQL [ par JeffC1977 ] Salut....J'ai besoin d'aller chercher une information dans une table acces sans faire une recherche...J'ai toujours utiliser les requêtes SQL pour fai VB6 Requête SQL ADO [ par JeffC1977 ] Salut à tous....J'ai un petit problème avec ma requête SQLVoici la requête que j'utilise...RS.Open "SELECT [PointX],[PointY],[PointZ] FROM [POINT] WHE ComboBox sur requête SQL (VB6 + Recordset) [ par dough29 ] Bonjour !Je travaille actuellement sur un projet VB6 avec un accès sur une base Access via les recordset.J'aimerai faire des combobox du même style qu Replace dans SQL via VB6 [ par antoine_ferard ] En VB6, je code ceci :   Rqte = "select replace(vl, ".", ",") from fonds where designation = 'BTP ACTIONS'"   Set Rst3 = New ADODB.Recordset   Rst3.Op Requête SQL dans une boucle VB6? [urgent SVP] [ par chefinf ] J'ai fais un code en vb6 contenant une requête (sql) d'insertion dans une table Access, mais le problème c'est que la requête execute seulement la 1èr Requête SQL sous VB6 [ par jeanluc ] SalutJ?ai problème de requête SQL et cherche une solution :Je cherche à extraire des infos dans une table(ACCESS 2000)Voici ma requêtemaRequete = "SEL Pb requête SQL [ par Patrik ] Bonjour,J'ai 2 tables : - ListeClients (Clt, Magasin, DateCreation) - Achats (NumHa, CLT, Magasin, Montant)Ce que je souhaite obtenir (une seule requê


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.