Hola, soy nueva por aqui, necesito si me pueden dar una idea para enviar desde codigo visual, el campo por el cual se quiere ordenar los datos de un Informe, el cual se abre con la instrucción que adjunto. La variable "condicion" es una cadena que contiene la condiciones para el Where. DoCmd.OpenReport "Informe", acViewPreview, , condicion RESPUESTAS ========== (NOTA DEL BUHO) Esta exposicion es la típica que se hace mal, como luego veremos. Se lanza una pregunta, pero no se dan los datos necesarios para que se pueda contestar bien de una vez.... Responde Victor Delgadillo ========================== La condicion "WHERE .... " es para establecer filtros y/o condiciones. Para el orden en un informe usa el ordenador del informe (en diseño de informe) donde especificas el orden que deseas. No se si agregandole a la clasusla "WHERE ... ORDER BY [campo]" funcionaria... Responde Buho a la exposición de Victor ======================================= Creo que si funcionaria. Si el informe se basa en una SQL, pues sin problemas, no hay que tocar nada, solo construir la Sql o consulta asi: "Select.......Order By...." sin necesidad de hacer nada mas Si se basa en una tabla, en la pestaña datos de las propiedades del informe, se puede especificar el campo de ordenacion. Por ejemplo si la tabla se llama Clientes y el campo por el que quiero ordenar es un ID, por ejemplo, bastaria poner en esa casilla: [Clientes].[Id] y en la casilla 'activar orden' poner SI VUELVE A PREGUNTAR LA PERSONA QUE HIZO LA PREGUNTA INCIAL Y ES CUANDO YA, DE UNA VEZ MUESTRA TODA LA INFORMACION: ================================ Hola Victor, gracias por tu ayuda, pero la idea es que el usuario seleccione desde un cuadro combinado el ordenamiento (es por eso que desde el diseño del formulario no lo puedo dejar preestablecido), yo intenté enviar la variable del cuadro combinado al Informe, pero éste valor se pierde cuando abro el informe. Tambien utilice la propiedad "ordenar por" en el diseño del informe llevando esta variable pero tampoco funciono, al igual que agregar la clausula Order by en el Where. Espero haberme explicado bien. Vilma RESPONDE BUHO, AHORA SI, YA CON TODOS LOS DATOS Y CON LA RESPUESTA CORRECTA =========================================================================== Creo que ahora si que te he entendio. Otra posible solucion sería construir una Sql y pasarla como filtro al reporte. Ojo que no lo he probado y lo mismo estoy diciendo una barbaridad. (He creido entenderte que algo has hecho al respecto,pero que al abrir el reporte, se pierde el Order By) Es decir, supongamos que tu reporte se llama MiReporte y tiene como origen de datos la tabla Clientes. En el formulario desde el que mandas imprimir y donde tienes ese cuadro combinado (Con valores Nombre, Ciudad,Apellido), podrías poner algo asi: Dim SqlReporte as String Select Case CuadroCombinado case "Nombre" SqlReporte="Select * From Clientes Orde By [Nombre];" case "Ciudad" SqlReporte="Select * From Clientes Orde By [Ciudad];" case "Apellido" SqlReporte="Select * From Clientes Orde By [Apellidos];" End Select DoCmd.OpenReport "Mireporte", acViewNormal, SqlReporte Efectivamente, lo prueba el Buho y funciona.