Tienes que usar SQL dinámico. Ahora mismo no me acuerdo de mucho, tendría que mirarlo.
Échate un vistazo en un manual a la instrucción SQL PREPARE. Te tendría que guiar a como se hace lo que quieres. Si no te aclaras puedo intentar buscar algo de lo que tengo hecho para ver si te ayuda un poco más. Gustavo Adolfo Márquez Álvarez. Departamento de Informática. [EMAIL PROTECTED] InforZitro, S. L. Carretera de Níjar 404. 04007 Almería (España). Teléfono: 950 226 658. Extensión: 148. Fax: 950 223 620. -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Jose Bermúdez Enviado el: viernes, 14 de septiembre de 2007 11:50 Para: 'forum.help400' Asunto: SQL en RPG Es posible montar la cláusula WHERE o ORDER BY de un sql de Manera variable. Ir construyéndola en función de una pantalla que el usuario va seleccionando y ordenando. Quiero cambiar C/Exec Sql C+ Declare Lector1 Cursor for C+ SELECT * C+ FROM "FICHERO" C+ WHERE( C+ Campo1<=:DESDEP1 and Campo1<= :HASTAP1 C+ Campo2<=:DESDEP2 and Campo2<= :HASTAP2 C+ ) ORDER BY Campo1,Campo2 C+ For Read Only C/End-Exec Por algo asi C if condicion1 then C Eval Sqlstm='Where(campo1<="' + DESDEP1 + '" and Campo1<="' +HASTAP1) C Eval OrdStm="ORDER BY(Campo1,Campo2)" C Else C Eval Sqlstm='Where(campo2<="' + DESDEP2 + '" and Campo2<="' +HASTAP2) C Eval OrdStm="ORDER BY(Campo2,Campo1)" C End C/Exec Sql C+ Declare Lector1 Cursor for C+ SELECT * C+ FROM "FICHERO" C+ :Sqlstm C+ :OrdStm C+ For Read Only C/End-Exec Un Saludo, José Bermúdez Departamento Informática. Alcoholes Montplet, S.A.
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400

