la cadena de connexion es
Código PHP:
   Set MM_sumer_con_STRING = Server.CreateObject("ADODB.Connection") 
MM_sumer_con_STRING.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("sumer.mdb")) 
      
  |  ||||
|      Respuesta: filtrar por fechas    error devuelto   Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C) No se estableció ningún texto de comando para el objeto de comando. /intranet_esihuman/z_prova_total.asp, línea 24 linea 24 es set rs = oConn.execute(sql) (lo he puesto en un arxivo nuevo y limpio)  |  
  
  |  |||
|      Respuesta: filtrar por fechas    Entonces sustituye donde pone oConn por MM_sumer_con_STRING (el nombre de la variable me lió) y borra la instancia oConn (el set oConn = server.CreateObject.... )    ¿la variable sql va vacia? comprueba su valor.... mejor..... ponme el código completo de la página 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    me da el error    Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1. /intranet_esihuman/z_prova_total.asp, línea 24 en la linea 24 tengo te pongo el codigo tal y como lo tenia ahora Código PHP:     |  
  
  |  |||
|      Respuesta: filtrar por fechas    Quitale esta linea:    oConn.Open MM_sumer_con_STRING y vuelvelo a correr. Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    me da el error   Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1. /intranet_esihuman/z_prova_total.asp, línea 25 te copio todo el codigo otra vez Código PHP:     |  
  
  |  |||
|      Respuesta: filtrar por fechas    ¿Es ese todo el código? Es decir, ¿has puesto el archivo de inclusión donde defines MM_sumer_con_STRING? En caso de que respondas a la primera pregunta SI y a la segunda NO, pon estas dos lineas al principio del código:    Set MM_sumer_con_STRING = Server.CreateObject("ADODB.Connection") MM_sumer_con_STRING.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("sumer.mdb")) Por cierto, ¿el SELECT * FROM CURRICULUMS te funciona? Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    todo el codigo   Código PHP:    y el select * from curriculums si que funciona  |  
  
  |  |||
|      Respuesta: filtrar por fechas    He emulado todo en mi server (base de datos, cadena de conexión, etc) y funciona correctamente. Solo se me ocurre un posible problema: la versión Access de la BD. Hay 4: 1997, 2000, 2002-2005 o 2007. La función dateDiff esta implementada desde 2000 o la 2002-2005 y es posible que cambie algun parámetro en ellas.     Si sigues interesado en esta forma de obtener la edad te recomiendo que abras la base de datos en tu Access del PC, crees una consulta y pegues la sentencia SQL a ver si te funciona correctamente. Ya te digo, a mi me funciona tanto en el entorno de Access como a traves de ASP VBScript. Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    Yo uso Access 2003    te pongo una iamgen de tomo tengo diseñada la tabla haver si es como tienes tu diseñado el campo fecha_naixement http://www.esigual.com/DISENOTABLA.JPG he provado de hacer esta sentencia sobre el access SELECT * FROM curriculums WHERE DateDiff("yyyy",DATA_NAIXEMENT, Date()) >= 18 and DateDiff("yyyy",DATA_NAIXEMENT, Date()) <= 20; y me ha funcionado a la perfeccion no se por donde puede venir el problema  |  
  
  |  |||
|      Respuesta: filtrar por fechas    Lo siento, llevo todo el dia peleandome con Delphi     ![]() Pues si, es exactamente como lo tengo yo (bueno, con menos campos pero eso da igual). Lo único que nos queda por chequear es la cadena de conexión aunque no deberia de fallar por ahí. Yo uso OLEDB: Provider=Microsoft.Jet.OLEBD.4.0; Data Source=dir_de_la_base_de_datos; Tu usas ODBC (MSDASQL) usando una conexión DSN less: Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)}; DBQ=dir_de_labase_de_datos; (puedes evitarte el Provider=MSDASQL pero si lo pones, no pongas ningun espacio entre el ; y Driver) DSN Less esta muy extendido entre los server (es mas antiguo que OLEDB) y OLEDB es mas potente pero requiere tener instalado en el server el MDAC 2.0 o superior. Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    bue te lo puedes creer?   con esto no me funciona Dim MM_sumer_con_STRING Set MM_sumer_con_STRING = Server.CreateObject("ADODB.Connection") MM_sumer_con_STRING.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("sumer.mdb")) %> pero con este si Set MM_sumer_con_STRING = Server.CreateObject("ADODB.Connection") 'Conn.Mode = adModeReadWrite MM_sumer_con_STRING.Open("Provider=Microsoft.Jet.O LEDB.4.0; Data Source=" & Server.MapPath("sumer.mdb")) que diferencia hay entre el microsoft.jet.OLEDB y el Microsoft Acces driver?  |  
  
  |  |||
|      Respuesta: filtrar por fechas    jajajajajaja, bloody DSN less (perdon por la expresión). La verdad es que yo no te recomiendo paginar usando las opciones del recordset. Me  gusta más hacerlo por SQL pero bue... es mas complicado, si. Supongo que si, que se puede. Todo es cuestion de probar...    Respecto a la diferencia te lo expliqué en el post anterior. Uno es por OLEDB y el otro por ODBC (más antiguo). Un saludo y me alegro que te funcione   
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  ||||
|      Respuesta: filtrar por fechas    ahora que funciona he probado   el int(dateDiff("d", Fecha_nacimiento, date())/365) > 18 and int(dateDiff("d", Fecha_nacimiento, date())/365) < 18 y me saca datos erroneos tambien he probado el ELECT * FROM curriculums WHERE DateDiff(""yyyy"", data_naixement, Date()) >= 18 and DateDiff(""yyyy"", data_naixement, Date()) <= 18; me saca esto 02/06/1990 18 09/08/1990 17 06/08/1990 18 el del 9/08/1990 no es correcto por que aun tiene 17 años  |  
  
  |  |||
|      Respuesta: filtrar por fechas    Si, es un problema de los años bisiestos. Dejame hasta mañana y te busco una solucion.    Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |  
  
  |  |||
|      Respuesta: filtrar por fechas    Creo que lo he conseguido. Discurramos:    Un año bisiesto es aquel que tiene un dia mas cada 4 años pero cada 400 años hay que eliminar 3 años. Es decir, un año bisiesto son todos los divisibles por 4 y por 400 menos los que son divisibles por 100. Es decir: 1 año dura 365+1/4-3/400=365,2425 días Por lo cual: SELECT * FROM CURRICULUMS WHERE int(dateDiff("d", Fecha_nacimiento, date())/(365+1/4-3/400)) >= 18 and int(dateDiff("d", Fecha_nacimiento, date())/(365+1/4-3/400)) <= 20 Esto te dará exactamente la edad correcta. Un saludo 
				__________________   "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -  |