LOCAL cOrdre,; nOrdre,; cSql nOrdre = THIS.cboordre_resident_chambre1.VALUE cOrdre = ICASE( nOrdre = 3 , [ORDER BY cNofact ] , ; nOrdre = 2 , [ORDER BY cChambre] ,; [ORDER BY cName] ) TEXT TO cSql NOSHOW TEXTMERGE SELECT LEFT( T.cnomteleph , 20 ) + ' - F.' + TRANSFORM( Ve.cnofact , "99999999" ) AS 'cName',; Ve.iid,; PADR( IIF( ISNULL( Chambre.iid ) , '' , ALLTR( Chambre.cnom ) + ; IIF( Chambre.nnolit > 1 , '-' + TRANS( R.nnolit , '@KZR 9' ) , '' ) ) , 6 ) AS "cchambre"; FROM amline!cfiltre cf INNER JOIN amline!Vente Ve ON Ve.iid = cf.itelephoneid ; INNER JOIN amline!Teleph T ON Ve.itelephoneid = T.iid ; INNER JOIN amline!Resident R ON T.iid = R.itelephoneid ; LEFT JOIN amline!Chambre ON Chambre.iid = R.ichambreid; <<cOrdre>>; WHERE Cf.lactif = .T. AND cf.ireport == <<goapp.noreport>>; INTO CURSOR cNames ENDTEXT *-- Here i have a problem because rowsource is limited to 254 caracters... THIS.ListResident.ROWSOURCE = cSql THIS.ListResident.REQUERY() IF THIS.ListResident.LISTCOUNT > 0 THIS.ListResident.LISTINDEX = 1 ENDIFbernhart