Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA]Pb de longueur de chaine

2 réponses
Avatar
Adrien
Bonjour,

jusqu'il y a peu de temps, le bout de code suivant ne posait pas de problème
sous excel, il semblerait que suite à une mise jour win XP il y ai un pb

msg_sql = "SELECT F_DOCENTETE.DO_TYPE,F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS, F_DOCENTETE.DO_DATE ,F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE,"
msg_sql = msg_sql & " F_COMPTET.CT_ADRESSE, F_COMPTET.CT_COMPLEMENT,
F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE, F_ARTICLE.AR_STAT02"
msg_sql = msg_sql & ", F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE,Sum(F_DOCLIGNE.FNT_MONTANTHT) AS MONTANT_HT,
Sum(F_DOCLIGNE.FNT_MONTANTTTC) AS _MONTANT_TTC "
msg_sql = msg_sql & " FROM (((F_DOCENTETE INNER JOIN F_DOCLIGNE ON
(F_DOCENTETE.DO_PIECE = F_DOCLIGNE.DO_PIECE) AND (F_DOCENTETE.DO_TYPE =
F_DOCLIGNE.DO_TYPE) AND (F_DOCENTETE.DO_DOMAINE = F_DOCLIGNE.DO_DOMAINE))
INNER JOIN F_ARTICLE ON F_DOCLIGNE.AR_REF = F_ARTICLE.AR_REF) INNER JOIN
F_COMPTET ON F_DOCENTETE.DO_TIERS = F_COMPTET.CT_NUM) INNER JOIN F_REPRESENT
ON F_DOCENTETE.RE_NO = F_REPRESENT.RE_NO "
msg_sql = msg_sql & " WHERE (((F_DOCENTETE.DO_DOMAINE)=0) AND
((F_DOCLIGNE.AR_REF)<>"""")"
msg_sql = msg_sql & " AND ((F_COMPTET.CT_CODEPOSTAL) Like ""*"")) GROUP BY "
msg_sql = msg_sql & " F_DOCENTETE.DO_TYPE, F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS,F_DOCENTETE.DO_DATE, F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE, F_COMPTET.CT_ADRESSE,
F_COMPTET.CT_COMPLEMENT, F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE,
F_ARTICLE.AR_STAT02, F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE "
msg_sql = msg_sql & " ORDER BY F_DOCENTETE.DO_TIERS"

En fait quand je regarde le contenu de la variable msg_sql, il n'y a pas
tout cela s'arrete au milieu de la deuxieme ligne.

Comment faire pour que cela marche??

Aidez moi je comprend pas

2 réponses

Avatar
Pounet95
Bonsoir,
Juste de mémoire car il y a belle lurette que je n'ai pas pratiqué le SQL et
qui plus est celui de MS.

A mon avis pour gagner de la longueur, utiliser un préfixe pour les tables :

Select w.toto, x.tata
from toto w, tata x
where .......
.... etc

Si ça peut aider ....
Bonne soirée
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Adrien" a écrit dans le message de news:

Bonjour,

jusqu'il y a peu de temps, le bout de code suivant ne posait pas de
problème
sous excel, il semblerait que suite à une mise jour win XP il y ai un pb

msg_sql = "SELECT F_DOCENTETE.DO_TYPE,F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS, F_DOCENTETE.DO_DATE ,F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE,"
msg_sql = msg_sql & " F_COMPTET.CT_ADRESSE, F_COMPTET.CT_COMPLEMENT,
F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE, F_ARTICLE.AR_STAT02"
msg_sql = msg_sql & ", F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE,Sum(F_DOCLIGNE.FNT_MONTANTHT) AS MONTANT_HT,
Sum(F_DOCLIGNE.FNT_MONTANTTTC) AS _MONTANT_TTC "
msg_sql = msg_sql & " FROM (((F_DOCENTETE INNER JOIN F_DOCLIGNE ON
(F_DOCENTETE.DO_PIECE = F_DOCLIGNE.DO_PIECE) AND (F_DOCENTETE.DO_TYPE > F_DOCLIGNE.DO_TYPE) AND (F_DOCENTETE.DO_DOMAINE = F_DOCLIGNE.DO_DOMAINE))
INNER JOIN F_ARTICLE ON F_DOCLIGNE.AR_REF = F_ARTICLE.AR_REF) INNER JOIN
F_COMPTET ON F_DOCENTETE.DO_TIERS = F_COMPTET.CT_NUM) INNER JOIN
F_REPRESENT
ON F_DOCENTETE.RE_NO = F_REPRESENT.RE_NO "
msg_sql = msg_sql & " WHERE (((F_DOCENTETE.DO_DOMAINE)=0) AND
((F_DOCLIGNE.AR_REF)<>"""")"
msg_sql = msg_sql & " AND ((F_COMPTET.CT_CODEPOSTAL) Like ""*"")) GROUP BY
"
msg_sql = msg_sql & " F_DOCENTETE.DO_TYPE, F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS,F_DOCENTETE.DO_DATE, F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE, F_COMPTET.CT_ADRESSE,
F_COMPTET.CT_COMPLEMENT, F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE,
F_ARTICLE.AR_STAT02, F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE "
msg_sql = msg_sql & " ORDER BY F_DOCENTETE.DO_TIERS"

En fait quand je regarde le contenu de la variable msg_sql, il n'y a pas
tout cela s'arrete au milieu de la deuxieme ligne.

Comment faire pour que cela marche??

Aidez moi je comprend pas


Avatar
Adrien
j'ai essayé de raccourcir en mettant select * ca va un peu plus lojn mais pas
assez, ce que je ne comprend pas c'est pourquoi du jour au lendemain ca a
planté


Bonsoir,
Juste de mémoire car il y a belle lurette que je n'ai pas pratiqué le SQL et
qui plus est celui de MS.

A mon avis pour gagner de la longueur, utiliser un préfixe pour les tables :

Select w.toto, x.tata
from toto w, tata x
where .......
..... etc

Si ça peut aider ....
Bonne soirée
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Adrien" a écrit dans le message de news:

Bonjour,

jusqu'il y a peu de temps, le bout de code suivant ne posait pas de
problème
sous excel, il semblerait que suite à une mise jour win XP il y ai un pb

msg_sql = "SELECT F_DOCENTETE.DO_TYPE,F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS, F_DOCENTETE.DO_DATE ,F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE,"
msg_sql = msg_sql & " F_COMPTET.CT_ADRESSE, F_COMPTET.CT_COMPLEMENT,
F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE, F_ARTICLE.AR_STAT02"
msg_sql = msg_sql & ", F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE,Sum(F_DOCLIGNE.FNT_MONTANTHT) AS MONTANT_HT,
Sum(F_DOCLIGNE.FNT_MONTANTTTC) AS _MONTANT_TTC "
msg_sql = msg_sql & " FROM (((F_DOCENTETE INNER JOIN F_DOCLIGNE ON
(F_DOCENTETE.DO_PIECE = F_DOCLIGNE.DO_PIECE) AND (F_DOCENTETE.DO_TYPE > > F_DOCLIGNE.DO_TYPE) AND (F_DOCENTETE.DO_DOMAINE = F_DOCLIGNE.DO_DOMAINE))
INNER JOIN F_ARTICLE ON F_DOCLIGNE.AR_REF = F_ARTICLE.AR_REF) INNER JOIN
F_COMPTET ON F_DOCENTETE.DO_TIERS = F_COMPTET.CT_NUM) INNER JOIN
F_REPRESENT
ON F_DOCENTETE.RE_NO = F_REPRESENT.RE_NO "
msg_sql = msg_sql & " WHERE (((F_DOCENTETE.DO_DOMAINE)=0) AND
((F_DOCLIGNE.AR_REF)<>"""")"
msg_sql = msg_sql & " AND ((F_COMPTET.CT_CODEPOSTAL) Like ""*"")) GROUP BY
"
msg_sql = msg_sql & " F_DOCENTETE.DO_TYPE, F_DOCENTETE.DO_PIECE,
F_DOCENTETE.DO_TIERS,F_DOCENTETE.DO_DATE, F_COMPTET.CT_CONTACT,
F_COMPTET.CT_QUALITE, F_REPRESENT.RE_NOM, F_REPRESENT.RE_PRENOM,
F_REPRESENT.RE_FONCTION, F_COMPTET.CT_INTITULE, F_COMPTET.CT_ADRESSE,
F_COMPTET.CT_COMPLEMENT, F_COMPTET.CT_CODEPOSTAL, F_COMPTET.CT_VILLE,
F_ARTICLE.AR_STAT02, F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.FA_CODEFAMILLE "
msg_sql = msg_sql & " ORDER BY F_DOCENTETE.DO_TIERS"

En fait quand je regarde le contenu de la variable msg_sql, il n'y a pas
tout cela s'arrete au milieu de la deuxieme ligne.

Comment faire pour que cela marche??

Aidez moi je comprend pas