Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
936 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  problème requete Sql avec variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème requete Sql avec variable

n°988075
mrmarcadet​1
Posté le 21-02-2005 à 09:40:36  profilanswer
 


Bonjour à tous,
 
j'ai un problème lors d'une requete Sql en vba avec l'utilisation d'une variable.
 
Pour commencer voici mon bout de code qui pose probème :

Code :
  1. .CommandText = Array( _
  2.         "SELECT " & varSql & " FROM DBA.INV INV" & Chr(13) & "" & Chr(10) & "WHERE (INV.HIS={ts '" & varDate & " 00:00:00'}) AND (INV.PTF=" & varCode & " )" & Chr(13) & "" & Chr(10) & "ORDER BY INV.HIS, INV.CLAS, INV.L_CLAS" _
  3.         , "_ACT" )


 
Le problème apparait lorsque ma variable [-i]varSql[/i] (qui est un string biensur) est trop grande (après un certain nombre de caractère j'ai l'erreur suivante :

Citation :

Erreur d'éxécution '13' :
Incompatibilité de type


 
Comment faire pour ne plus avoir cette erreur ? ou comment formater ma requete ?
 
je pensais faire une fonction qui me permettrait d'avoir le format suivant :

Citation :

.CommandText = Array( _
        "SELECT INV.HIS, INV.PTF, INV.C_INS, INV.PAY, INV.L_PAY, INV.C_PAY, INV.L_PAY, INV.C_SEC, INV.L_SEC, INV.C_CLAS, INV.L_" _
        , _
        "T.V_PTF, INV.V_N" & Chr(13) & "" & Chr(10) & "FROM DBA.INV INV" & Chr(13) & "" & Chr(10) & "WHERE (INV.HIS={ts '" & varDate & " 00:00:00'}) AND (INV.PTF=" & varCode & " )" & Chr(13) & "" & Chr(10) & "ORDER BY INV.HIS, INV.CLAS, INV.L_CLAS" _
        , "_ACT" )


avec les retours à la ligne au bout d'un certain nombre de caractère mais je ne vois pas comment !
 
Merci beaucoup de votre ! VRAIMENT MERCI :)
 
MM

mood
Publicité
Posté le 21-02-2005 à 09:40:36  profilanswer
 

n°988076
mrmarcadet​1
Posté le 21-02-2005 à 09:40:51  profilanswer
 

varSql est une variable qui contient la liste des colones à récupérer.
 
Par exemple : plus haut j'ai par exemple  
 

Citation :

varSql = "INV_HIS, INV_Code, INV_PTF, ... , INV_CPT"


 
Donc la variable peut etre plus ou moi longue.
 
Lorsqu'elle est courte ca va, mais au bout d'un certain nombre de caractère il faudrait que je repasse à la ligne aparament !

n°988150
hagal
Posté le 21-02-2005 à 11:06:43  profilanswer
 

salut
 
d'abord un var string peut contenir 4 milliards de caractères si je ne me trompe pas. donc pas de probleme de ce coté.
 
deuxièment ton message d'erreur :  
ta requete est du string, tes vars varDate, varCode  ... sont-elles string ? si non mets cstr(varcode) ...
 
c'est quoi ce truc? INV" & Chr(13) & "" & Chr(10) & "WHERE pourquoi vas tu à la ligne? bon toujours est il que tu peux ajouter un espace à " WHERE et de meme pour les autres portions.
 
Enfin : qand tu mets une variable :  
-si nombre : " & var & " (ok pour ca)
-si string : '" & var & "'
-date/heure : #" & var & "#  
 
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  problème requete Sql avec variable

 

Sujets relatifs
la requete qui se rebelleProbleme de récuperation de fichier sur un FTP
[C Ansi] Thread POSIX problème de synchronisationpetit problème pour requete sql un poil complexe
problème de quotes[phpBB] probleme de temps
[Expression reguliere] probleme de parsing de pseudo urlgarder la valeur d'une variable[résolu]
Probleme de Dim 
Plus de sujets relatifs à : problème requete Sql avec variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR