Bueno, tengo un problemilla que no logro identificar y quisiera ver si a alguien se le ocurre qué puede estar pasando.
Resulta que tengo un programa hecho en asp, el cual por exigencia del cliente debería levantar todos los datos históricos de un programa anterior. La estructura de base de datos no era la misma, ni parecida siquiera, pero para no hacer 4 programas diferentes (Si, el histórico lo tiene dividido en 3!

Hice esto de replicar las bases y no duplicar las tablas porque las administraciones viejas no tienen que estar disponibles para todos los usuarios, si no era facilísimo realmente! Pero bueno, mi vida no es simple ultimamente

El punto es: Teniendo en cuenta que el usuario que se conecta por ODBC a la primera base de datos, tiene permisos para trabajar en las otras, en lugar de generar cuatro ODBC (Una para cada base) hice uso de la posibilidad que brinda SQL de armar las consultas como Database.dbo.Tabla.Campo (Feo, pero efectivo)
De este modo, cargando en una Session el nombre de la db en la que se debe leer mientras se desee trabajar con determinada administración, salvaba el problema y todo debería funcionar correctamente. Pero claro, no estaría por aquí de haber funcionado bien no?

Y no es que de error, lo curioso, que no puedo resolver aún, es que parece funcionar. Tengo justamente un listado de créditos otorgados al cual le aplico unos cuantos filtros, son más de 3000 registros por tabla, así que por más paginado que lo tenga, buscar uno en particular leyendo la lista sería horrible!
Cuando pido el listado inicialmente, lo pido sin filtro alguno y que cargue la primera página. Este listado, según la administración que elijo en el login, coincide perfectamente con la información que contiene cada tabla, el problema aparece con los filtros.
Copio un fragmento de código, aunque lo he mirado varias veces ya.
Código PHP:
'Esto al principio de la página, luego del javascript que redirige al login si se cayó la sesión.
Usr=Session("Nombre")
BASE=Session("Datab")
'Aquí tomo los valores del form para filtrar los datos
F_Fdesde=Request.Form("Filtro_Fdesde")
F_Fhasta=Request.Form("Filtro_Fhasta")
F_Mutual=Request.Form("FiltroMutual")
F_Estado=Request.Form("FiltroEstado")
F_Cliente=Request.Form("FiltroNrocli")
F_Manda=Request.Form("FiltroMandante")
F_Monto=Request.Form("FiltroMonto")
'La condición inicial es la que omite anulados, porque no se quieren en el listado
Condicion="WHERE "&BASE&".PRESTAMOS.Estado<> 6 "
If F_Fdesde<>"" And F_Fhasta<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.FechaEcred BETWEEN "&F_Fdesde&" AND "&F_Fhasta
End If
If F_Mutual<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.NroMutual="&F_Mutual
End if
If F_Estado<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.Estado="&F_Estado
End if
If F_Cliente<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.NroCte="&F_Cliente
End If
If F_Manda<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.NroMan="&F_Manda
End If
If F_Monto<>"" Then
Condicion=Condicion&" AND "&BASE&".PRESTAMOS.DebitoMandan>="&F_Monto
End If
'Finalmente, la dichosa consulta
Set Rspres=Server.CreateObject("Adodb.Recordset")
Rspres.ActiveConnection=ConFev
Rspres.Source="SELECT NroCte, NroCredito, EnMano, Estado, Nombre, Apellido, FechaEcred FROM "&BASE&".PRESTAMOS INNER JOIN "&BASE&".CLIENTES ON CONVERT(varchar, "&BASE&".PRESTAMOS.NroCte)="&BASE&".CLIENTES.NroDoc "&Condicion&" ORDER BY FechaEcred DESC"
Rspres.CursorType=AdOpenKeyset
Rspres.LockType=AdLockOptimistic
Rspres.Open()
If Not Rspres.BOF Then
Tablapres=Rspres.GetRows 'Carga la consulta en un vector
'Y bueno, aquí el tema de la paginación y lo manejo con GetRows para hacer menos viaje al server :cool:!
Bueno, la hice larga esta vez, si alguien tiene una idea...
Gracias de antemano a tod@s!