VB requête SQL

Fermé
RItalMan - 10 mai 2004 à 13:54
 RItalMan - 11 mai 2004 à 11:29
J'ai encore un pb avec les requêtes SQL, je ne sais pas comment faire pour que VB puisse accepter les " de ma requête :

requete = "SELECT PP407.TYPE, PP407.NUMERO, PP407.QUANTITE, PP407.DATEBES, PP407.GAMME, PP407.DTO, PP407.HDTO, PP407.FTO, PP407.HFTO, PP403.GAMME, PP403.PHASE, PP403.POSTE From PP403, PP407 GROUP BY PP407.TYPE, PP407.NUMERO, PP407.QUANTITE, PP407.DATEBES, PP407.GAMME, PP407.DTO, PP407.HDTO, PP407.FTO, PP407.HFTO, PP403.GAMME, PP403.PHASE, PP403.POSTE HAVING (((PP407.TYPE)="06") AND ((PP407.GAMME)=[PP403].[GAMME]) AND ((PP403.PHASE) Is Not Null))"


Merci d'avance !
A voir également:

8 réponses

blux Messages postés 26311 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 septembre 2024 3 300
10 mai 2004 à 16:34
Salut,

il suffit de les doubler, ou mieux pour la lecture de les remplacer par '
requete="SELECT toto FROM tata WHERE titi = '06'"

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Je te remercie, en fait j'avais trouvé ;), mais le pb en mettant '06', c'est que j'ai un nouveau message d'erreur :

Type de données incompatibles, alors que je suis certain que chacun des champs est bon
0
blux Messages postés 26311 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 septembre 2024 3 300
10 mai 2004 à 17:08
Ca sent le grand classique :

ton champ est numérique et tu le compares avec un type chaine, que tu indiques par les '

C'est ça ?

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Mon champ est numérique en effet. Si je le compare avec '06', j'ai type de données incompatibles, si je mets 06, j'ai :

Type de données incompatibles dans l'expressin du critère.

Je ne sais pas quoi faire
0

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

Posez votre question
blux Messages postés 26311 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 septembre 2024 3 300
11 mai 2004 à 10:16
Si ton champ est numérique, alors il ne faut pas de '

Peut-être que tu compares d'autres champs avec des types différents ?
As-tu essayé de simplifier ta requête ? Ne mettre qu'une seule condition, puis les rajouter pour voir à quel moment ça cloche...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
J'ai essayé donc chacun des critères, combiné les uns avec les autres.

En fait celui qui pose problème, c'est bien :

PP407.TYPE=06, ca ne fonctionne pas du tout !
Il se trouve que c'est en effet du type texte (désolé), seulement en mettant PP407.TYPE='06', j'ai : erreur inattendue du pilote de base de donnée externe (10026), je précise que j'utilise une base de donnée dBase
0
blux Messages postés 26311 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 30 septembre 2024 3 300
11 mai 2004 à 11:22
'TYPE' ne serait pas un mot-clé réservé ? Peux-tu changer de nom ?
Tu es connecté en ODBC ou tes données sont importées de dBase ?

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
En fait j'ai trouvé la solution, c'est que je pouvais utiliser un autre critère de différenciation qui me donne le même résultat. TYPE n'est à priori pas réservé, j'avais vérifié.

Merci de ton aide :) et bon courage
0