Hola, mi estimado amigo
ElAprendiz.
Te agradezco mucho la ayuda que me has brindado. Sin embargo, aunque ya he cercado más el problema, el mismo persiste.
Ya confirmé que los dos valores AÑO y MES, guardados en las variables "year_select" y "mes_select", respectivamente, pasan a la pagina2.asp, invocada desde el form, que encierra a ambas variables, en la pagina1.
Lo confirmé de dos maneras:
A través de:
<% Response.Write ("Año: " & Request.Form("year_select"))%> <br /> <% Response.Write ("Mes: " & Request.Form("mes_select")) %>
y a través de:
year_cap = Request.Form("year_select") mes_cap = Request.Form("mes_select") <% Response.Write ("Año: " & year_cap)%> <br /> <% Response.Write ("Mes: " & mes_cap) %>
Son lo mismo, pero me ayudó a ver que sí pasan.
Si utilizo las variables "year_cap" y "mes_cap" en el código HTML de la pagina2 no tengo problemas para ver su contenido.
El problema es cuando intento filtrar el contenido de la Base de Datos utilizando ambas variables.
Aquí es donde está el problema:
Código:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../../Connections/Reg_Bebes_connect.asp" -->
<%
Dim year_cap, mes_cap
Dim Reg_Bebes_recordset
Dim Reg_Bebes_recordset_numRows
year_cap = Request.Form("year_select")
mes_cap = Request.Form("mes_select")
Set Reg_Bebes_recordset = Server.CreateObject("ADODB.Recordset")
Reg_Bebes_recordset.ActiveConnection = MM_Reg_Bebes_connect_STRING
Reg_Bebes_recordset.Source = "SELECT * FROM datos_bebes WHERE Año_Nac = "&year_cap&" AND Mes_Nac = "&mes_cap&" ORDER BY Dia_Nac DESC"
Reg_Bebes_recordset.CursorType = 0
Reg_Bebes_recordset.CursorLocation = 2
Reg_Bebes_recordset.LockType = 1
Reg_Bebes_recordset.Open()
Reg_Bebes_recordset_numRows = 0
%>
Si en el SELECT que resalté pongo así:
Reg_Bebes_recordset.Source = "SELECT * FROM datos_bebes WHERE Año_Nac = "&year_cap&" ORDER BY Dia_Nac DESC"
...no tengo problemas. Filtra por AÑO, más no por mes.
Si en el SELECT que resalté pongo así:
Reg_Bebes_recordset.Source = "SELECT * FROM datos_bebes WHERE Mes_Nac = "&mes_cap&" ORDER BY Dia_Nac DESC"
o la consulta completa:
Reg_Bebes_recordset.Source = "SELECT * FROM datos_bebes WHERE Año_Nac = "&year_cap&" AND Mes_Nac = "&mes_cap&" ORDER BY Dia_Nac DESC"
Me sale este error en el Internet Explorer:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1.
/mi_web/.../pagina2.asp, línea 17
La línea 17 es:
Reg_Bebes_recordset.Open()
Esto me da a entender que la variable "mes_cap" no me está funcionando para filtrar la Base de Datos.
¡De veras que no entiendo por qué!

Si ambas variables guardan los datos que se le pasaron y se pueden imprimir en pantalla, como te mostré al principio y la consulta a la Base de Datos está bien escrita y la variable "year_cap" filtra la Base de Datos, ¿por qué la variable "mes_cap" no funciona para filtrar, ya sea sola o acompañada de "year_cap"?
Si me puedes ayudar o algún otro amigo del foro tiene idea del por qué, por favor, ayúdeme.
Un millón de gracias.
-
Kalimdor.