Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 FECHAS!!
 Foro Bloqueado  Tema Bloqueado


Autor Temas
geminina
Starting Member


33 Posts
Mensajes - 27 Feb 2008 :  16:52:23  Ver Perfil  Enviar Email
Hola una consultita...

tengo en mi BD una tabla que contiene fechas y es del tipo d/m/año las cuales son ingresadas por interfaz..el punto es...que necesito generar un informe donde el usuario seleccione el mes y el año para ver los datos....pero no cuadra con el formato de mi fecha....la puedo descomponer???? para comparar los meses y años?? y si es asi..kmo se hace??

nunca he echo algo asi..asi k ni idea..

DonGato
Moderator

España
263 Posts
Posted - 27 Feb 2008 :  17:06:03  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
Si la puedes descomponer, con funciones de este tipo.
year(tufecha) o month(tufecha)
pero yo te recomiendo que hagas la select de solo los valores que necesitas, toma la fecha que ingresa el usuario ponla como condicion, es decir
imagina que el usuario introduce mayo 2007 pues bien la select deberia ser algo tal que asi:
select * from tutabla where fecha>= '01.05.2007' and fecha <= '31.05.2007'
Solo tendras que controlar el numero de dias que tiene el mes, para poder realizar la comparacion sin problemas aunque si no quieres molestarte un pequeño truco es sumarle un mes, de forma que la select sea asi
select * from tutabla where fecha >= '01.05.2007' and fecha < '01.06.2007'
Si lo haces asi, recuerda que si el mes es diciembre deberas sumarle 1 al año y poner como fecha final '01.01.08'.
Suerte

Edited by - DonGato on 27 Feb 2008 17:06:35Inicio Pagina

geminina
Starting Member


33 Posts
Posted - 27 Feb 2008 :  18:15:14  Ver perfil  Enviar e-mail

Pero yo no se que valor seleccionará el usuario..debo hacer la consulta en funcion de una variable...y los rangos de fechas estan en duro..tonces???

el ejemplo esta clarito porque yo se que eligio mayo del 2007 entonces consulto ese rango...pero kmo haré un rango para cada mes que ingrese..serian 12 IF END IF???? nonono parace k no entendi jijiji...ademas k el año igual varia ....

habia pensado en tomar el valor de mi fecha con las funciones pero a la vez me sale este error

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos: '[string: "fecha_asig"]'

bueno mi fecha en la tabla es DateTime

este es el cod errado

set rs = createobject("ADODB.Recordset")
sql = "select fecha_asig from dbo.asignacion"
rs.open sql, MM_turnos_bd_STRING

fecha = rs("fecha_asig")
mes_ = month("fecha_asig")
anio_ = year("fecha_asig")

a mi me tink k no te entendí jijiij....

Saludos

Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 27 Feb 2008 :  18:55:58  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
Te explico.
La pantalla tendrá un formulario donde el usuario introducirá las fechas, es decir, un par de desplegables uno con meses y otro con años.
Al darle a enviar recoges esos valores y con esos valores generas el sql.
Voy a hacerte un ejemplo sencillo para que lo veas

Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 27 Feb 2008 :  19:16:07  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
Aqui te pongo un ejemplo de lo que he entendido y de como lo haría yo.
Primero de todo monto un formulario para que el usuario marque la fecha que quiere consultar.
<form name="alta" method="post" action="pruebac.asp?grabo=S">
<table width="274">
<tr>
<td width="49">Mes</td>
<td width="103"><select name="mes" id="mes">
<option value="1" selected>Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
<option value="7">Julio</option>
<option value="8">Agosto</option>
<option value="9">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>

</select></td>
<td width="26">A&ntilde;o</td>
<td width="76"><select name="anio" id="anio">
<%
For i = 1990 To 2050 Step 1
%>
<option value="<%=i%>"><%=i%></option>
<%
next
%>
</select></td>
</tr>
<tr>
<td colspan="4"><div align="center">
<input type="submit" name="Submit" value="Enviar">
</div></td>
</tr>
</table>
</form>
<%
'Aqui compruebo que el formulario se ha mandado
grabo=request.QueryString("grabo")
'si grabo vale S es que se ha mandado con lo que reocojo los datos de los campos mes y año
if grabo="S" then
mes=request.form("mes")
anio=request.Form("anio")
'formo la fecha incial, es la mas sencilla ya que solo tengo que tomar el primer dia del mes y añadirle el año
desdefecha="01"&"."&mes&"."&anio
' para la fecha final, la unica comprobacion que hago es que sea diciembre y tenga en cuenta que me voy a enero y a un año mas
if mes=12 then
mes=1
anio=anio+1
else
mes=mes+1
end if
' formo la fecha final y genero el sql
afecha="01."&mes&"."&anio
sql="select * from tabla where fecha >='"&desdefecha&"' and fecha < '"&afecha&"'"
response.write(sql)
' solo te queda crear un recordset y mostrar los datos
end if%>


Edited by - DonGato on 27 Feb 2008 19:17:45Inicio Pagina

geminina
Starting Member


33 Posts
Posted - 28 Feb 2008 :  13:45:49  Ver perfil  Enviar e-mail
te pasaste!!!! todo funcionando ok...

realmente con el codigo se me aclaro la pelicula..andaba medio perdida...

muchas gracias denuevo ;)


Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 28 Feb 2008 :  13:51:31  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
jajaja, que esperabas??, es broma.
Me alegro. Suerte!

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar