Notre fonction TRANSFORM écrite pour le serveur SQL renvoie un SqlVariant. Ce type de champ n’est pas concaténable avec une autre chaîne de caractère. Il faut donc forcer un transtypage vers un type char.
Dans votre requête, il faut donc remplacer
transform(q,m.PICT_Q)
par
cast(transform(q,m.PICT_Q) as char(15))
La requête suivante :
select transform(q,m.PICT_Q)+' | '+pieds_v.journal+' | '+str(pieds_v.piece)+' | '+cli_x.c_nom as ligne from pieds_v (NOLOCK),lignes_v (NOLOCK),cli_x (NOLOCK) where (id_cli=cli_x.c_id) and (pieds_v.id+pieds_v.journal+str(pieds_v.piece,10)=lignes_v.id+lignes_v.journal+str(lignes_v.piece,10)) and (pieds_v.type=3) and (left(id_article,10)=?m.l_id) order by date
produit cette erreur : Opérateur incorrect pour le type de données. L'opérateur est add, le type est sql_variant
Ou est l'erreur ? Merci d'avance.