Bueno, gracias a ti y a vallu por vuestros consejos, ya está operativo y sí genera una sentencia enorme pero totalmente eficiente.
He optado por subconsultas en vez de cláusulas join para poder tener un Select y un from que mostrase todos los pedidos y necesidad de usar el Where, de esta forma el Where quedaría en blanco si el usuario no busca y mostraría todos los pedidos, si usa algún campo de búsqueda, genero el Where en función de los campos usados.
1º se mostrarán siempre los registros con esta sentencia a la cual se le anidará clausua Where o no, en función de si se busca o no:
Código MySQL:
Ver original Pe.id,
pe.Su_Referencia,
pe.Fecha_ped,
pe.bimponible,
pe.id_user,
2º Será siempre la misma y generaré y concatenaré la sentencia Where, este sería el formato completo si usa todos los campos de búsqueda:
Código MySQL:
Ver original pe.su_referencia
LIKE '%89%' pe.fecha_Ped
>= '2003-05-05' | pe.fecha_Ped
<= '2003-05-05' | pe.fecha_ped
BETWEEN '2003-01-05' AND '2003-12-05' (pe.DF_RazonSocial
LIKE '%xxxxxx%' OR pe.DF_Direc1
LIKE '%xxxxxx%' OR pe.DF_Direc2
LIKE '%xxxxxx%' OR pe.DF_Localidad
LIKE '%xxxxxx%' OR pe.DF_Provincia
LIKE '%xxxxxx%' OR pe.DE_Nombre
LIKE '%xxxxxx%' OR pe.DE_Direc1
LIKE '%xxxxxx%' OR pe.DE_Direc2
LIKE '%xxxxxx%' OR pe.DE_Localidad
LIKE '%xxxxxx%' OR pe.DE_Provincia
LIKE '%xxxxxx%' OR pe.DE_Pais
LIKE '%xxxxxx%' )
Genero la cadena Where a través de esta condición:
Cita: Editado: Código de programacion no permitido en foros de Bases de Datos. Leer las normas del for, por favor.
Está pendiente de depurar y reducir, pero funciona, al final el Where se guarda en una variable de sesión.
Y con el siguiente código creo el recordset con la página que quiera:
Cita: Editado: Código de programacion no permitido en foros de Bases de Datos. Leer las normas del for, por favor.
La función CrearRs_Paginado_MySQL la tenéis más arriba.
He incluido código asp, sé que no es el foro adecuado, si no creéis conveniente, borradlo o mover el post de sitio. Gracias por vuestra ayuda e interés.