>LOCAL cOrdre,; > nOrdre,; > cSql > >nOrdre = THIS.cboordre_resident_chambre1.VALUE > >SET TEXTMERGE TO MEMVAR THIS.ListResident.ROWSOURCE NOSHOW ON >\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 >\\ JOIN amline!Teleph T ON Ve.itelephoneid = T.iid >\\ JOIN amline!Resident R ON T.iid = R.itelephoneid >\\ LEFT JOIN amline!Chambre ON Chambre.iid = R.ichambreid >\\ WHERE Cf.lactif = .T. AND cf.ireport == <<goapp.noreport>> >\\ ORDER BY >DO CASE > CASE nOrdre = 3 >\\ cNofact > CASE nOrdre = 2 >\\ cChambre > OTHERWISE >\\ cName >\\ INTO CURSOR cNames >SET TEXTMERGE TO && This fill ROWSOURCE > >* THIS.ListResident.REQUERY() remove this > >* IF THIS.ListResident.LISTCOUNT > 0 remove this > THIS.ListResident.LISTINDEX = 1 >* ENDIF >>The limit is 8192, therefore you must be thrifty.