Probleme avec requete trop longue. comment aller a la ligne

ndaseraphin Messages postés 74 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 1 février 2012 - 16 sept. 2010 à 19:15
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 17 sept. 2010 à 00:55
bonsoir a tous. ma requete est trop long,je doit donc aller a la ligne. mais quand je vais a la ligne ,elle ne s'execute pas. comment le faire correctement? aider moi. voici ma requete:

BD.Execute "Insert Into CLIENT([Libellé projet], [Description tranche], [Libelle type lot], Compte_client, [Nom client], [Num lot], [Adresse Post], [Tel Bur], [Tel dom], [Coût HT], [Total frais], [Montant apport], [Frais notarié], [Montant option], [Montant crédit], [Montant total HT], [Montant total TTC], [Montant TVA], [Montant remise], [Frais notarié reversé], [Montant payé], [Reste à payer], Mot_passe) values('" & Rss.Fields("Libellé projet") & "','" & Rss.Fields("Description tranche") & "','" & Rss.Fields("Libelle type lot") & "','" & Rss.Fields("Compte client") & "','" & Rss.Fields("Nom client") & "','" & Rss.Fields("Num lot") & "','" & Rss.Fields("Adresse Post") & "','" & Rss.Fields("Tel Bur") & "','" & Rss.Fields("Tel dom") & "','" & Rss.Fields("Prix vente") & "','" & Total_frais & "','" & Rss.Fields("Apport personnel").value & "','" & Rss.Fields("Frais notarié").value & "','" & Rss.Fields("Montant option").value & "' " _
& " '" & Rss.Fields("Montant crédit").value & "','" & Montant_total_HT & "','" & Rss.Fields("Total invest").value & "','" & Rss.Fields("TVA").value & "' ,'" & Rss.Fields("Remise").value & "','" & Rss.Fields("SommeDeMontant règlé").value & "','" & Rss.Fields("Montant payé").value & "','" & Reste_a_payer & "','" & Rss.Fields("Mot_passe") & "')"

Merci d'avance
Phino

2 réponses

cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 1
16 sept. 2010 à 19:49
salut,

utilise le tiré _

exemple :

"bla bla bla " _
& " suite du bla bla bla"
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 sept. 2010 à 00:55
Dans ton cas, il serait souhaitable de rentrer la commande SQL dans une variable String, proprement affichée avec des _
Mais tu arriverais vite au maximum de 21 _ maxi dans une expression.
Donc, vaut mieux tout préparé comme ceci :
    Dim sSQL As String
    sSQL = sSQL & "Insert Into CLIENT"
    sSQL = sSQL & "[Libellé projet], [Description tranche], [Libelle type lot], "
    sSQL = sSQL & "Compte_client, [Nom client], [Num lot], [Adresse Post],"
    sSQL = sSQL & "[Tel Bur], [Tel dom], [Coût HT], [Total frais],"
etc
Tu peux même pour être parfaitement clair, faire une ligne par variable.
La longueur d'une chaine peut aller jusqu'à 2Go en VB6 : tu as de la marge.

Puis donner sSQL à la commande
    BD.Execute sSQL
0
Rejoignez-nous