Foros del Web » Programando para Internet » ASP Clásico »

Select automatico cada nuevo mes...

Estas en el tema de Select automatico cada nuevo mes... en el foro de ASP Clásico en Foros del Web. Buenas, Sabéis como puedo hacer un select tipo: <select name="fecha"> <option>Enero 2009</option> <option>Febrero 2009</option> ... ... <option>Enero 2010</option> </select> Y que cada vez que se ...
  #1 (permalink)  
Antiguo 07/01/2010, 09:08
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Select automatico cada nuevo mes...

Buenas,

Sabéis como puedo hacer un select tipo:

<select name="fecha">
<option>Enero 2009</option>
<option>Febrero 2009</option>
...
...
<option>Enero 2010</option>
</select>

Y que cada vez que se empiece un nuevo mes aparezca en el desplegable de forma automática?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 07/01/2010, 12:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Respuesta: Select automatico cada nuevo mes...

Cada vez que empiece en nuevo mes?

O sea que quieres el combo ahorita solo con Enero 2010 y el próximo mes con Febrero 2010?

Si es así sería con un while:

Código:
MesInicial = 1
While MesInicial <= Month(Date)
   %>
   <option><%=VectorConNombresDeLosMeses(i) & " " & Year(Date)%>
   <%
Wend
No estoy seguro si la función MonthName te regresa el nombre del mes siempre en inglés o depende del idioma del Servidor, cosa de probar.

Saludos!
  #3 (permalink)  
Antiguo 08/01/2010, 09:17
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Select automatico cada nuevo mes...

Cita:
Iniciado por Myakire Ver Mensaje
Cada vez que empiece en nuevo mes?

O sea que quieres el combo ahorita solo con Enero 2010 y el próximo mes con Febrero 2010?

Si es así sería con un while:

Código:
MesInicial = 1
While MesInicial <= Month(Date)
   %>
   <option><%=VectorConNombresDeLosMeses(i) & " " & Year(Date)%>
   <%
Wend
No estoy seguro si la función MonthName te regresa el nombre del mes siempre en inglés o depende del idioma del Servidor, cosa de probar.

Saludos!
He probado esto sin éxito... dentro del desplegable no escribe nada

Código ASP:
Ver original
  1. <select name="periodo">
  2. <%
  3. Dim NombreMeses(11)
  4. NombreMeses=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Setiembre','Octubre','Noviembre','Diciembre']
  5. MesInicial = 1
  6. While MesInicial <= Month(Date())
  7.    %>
  8.    <option><%=NombreMeses(i) & " " & Year(Date()) %>
  9.    <%
  10. Wend
  11. %>
  12. </select>

¿Alguien sabe por qué?

Si sirve de algo el código fuente una vez ejecuto la web es el siguiente

Código HTML:
Ver original
  1. <select name="periodo">
  2.  <font face="Arial" size=2>
  3. <p>Microsoft VBScript runtime </font> <font face="Arial" size=2>error '800a000d'</font>
  4. <p>
  5. <font face="Arial" size=2>Type mismatch</font>
  6. <p>
  7. <font face="Arial" size=2>/reportes/select.asp</font><font face="Arial" size=2>, line 66</font>

Muchas gracias de antemano!
  #4 (permalink)  
Antiguo 08/01/2010, 15:03
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Respuesta: Select automatico cada nuevo mes...

Solo tenias que incrementar el contador, si no no se sale del ciclo. Por cierto, efectivamente MonthName te da el nombre del mes según el idioma del server.

Código ASP:
Ver original
  1. <select name="periodo">
  2. <%
  3. MesInicial = 1
  4. While MesInicial <= Month(Date())
  5.    %>
  6.    <option><%=MonthName(MesInicial) & " " & Year(Date()) %>
  7.    <%
  8.      MesInicial = MesInicial + 1
  9. Wend
  10. %>
  11. </select>
  #5 (permalink)  
Antiguo 11/01/2010, 05:50
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Select automatico cada nuevo mes...

Cita:
Iniciado por Myakire Ver Mensaje
Solo tenias que incrementar el contador, si no no se sale del ciclo. Por cierto, efectivamente MonthName te da el nombre del mes según el idioma del server.

Código ASP:
Ver original
  1. <select name="periodo">
  2. <%
  3. MesInicial = 1
  4. While MesInicial <= Month(Date())
  5.    %>
  6.    <option><%=MonthName(MesInicial) & " " & Year(Date()) %>
  7.    <%
  8.      MesInicial = MesInicial + 1
  9. Wend
  10. %>
  11. </select>
Muchas gracias Myakire, ahora si que muestra el mes y el año hasta el mes actual, con el formato "enero 2010"

Empieza en enero de 2010. ¿Cómo puedo hacerlo para indicarle que quiero que empiece desde un determinado mes?
Por ejemplo desde Agosto de 2009?

Debería indicarle en el while MesInicial, la fecha de agosto de 2009... pero la pongo completa? solo el mes?
Si pongo solo el mes... agosto es el mes 8, por lo que el bucle no entraría...

Podéis echarme una mano?

Muchas gracias de antemano!
  #6 (permalink)  
Antiguo 11/01/2010, 08:07
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Respuesta: Select automatico cada nuevo mes...

Eso no tiene mucha ciencia, solo debes de además de tener un contador para el mes, tener otro para el año iniciado en 2009, cuando el contador del mes (iniciado en 8) sea mayor a 12, lo colocas de nuevo a 1 e incrementas el del año.

Trata de hacerlo

Saludos
  #7 (permalink)  
Antiguo 12/01/2010, 09:42
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Select automatico cada nuevo mes...

Cita:
Iniciado por Myakire Ver Mensaje
Eso no tiene mucha ciencia, solo debes de además de tener un contador para el mes, tener otro para el año iniciado en 2009, cuando el contador del mes (iniciado en 8) sea mayor a 12, lo colocas de nuevo a 1 e incrementas el del año.

Trata de hacerlo

Saludos
Lo he logrado así... no se si la forma más eficiente posible

Código ASP:
Ver original
  1. <select name="periodo">
  2. <% 'MESES -------------------------------
  3. MesInicial = 8 'Le definimos desde que mes del año pasado tiene que mostrar estadisticas (8 = Agosto)
  4. While MesInicial <= 12
  5. %>
  6.     <option><%=MonthName(MesInicial) & " " & Year(Date())-1 %>
  7. <%
  8. MesInicial = MesInicial + 1
  9. Wend
  10.  
  11. MesInicial = 1
  12. While MesInicial <= Month(Date())
  13. %>
  14.     <option><%=MonthName(MesInicial) & " " & Year(Date()) %>
  15. <%
  16. MesInicial = MesInicial + 1
  17. Wend
  18. %>
  19. </select>

Gracias de antemano!
  #8 (permalink)  
Antiguo 12/01/2010, 10:20
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Respuesta: Select automatico cada nuevo mes...

Código ASP:
Ver original
  1. <select name="periodo">
  2. <%
  3. MesInicial  = 8
  4. AnioInicial = 2009
  5. While (MesInicial <= Month(Date())) OR AnioInicial < Year(Date)
  6.    %>
  7.    <option><%=MonthName(MesInicial) & " " & AnioInicial %>
  8.    <%
  9.      MesInicial = MesInicial + 1
  10.      If MesInicial > 12 Then
  11.         MesInicial = 1
  12.             AnioInicial = AnioInicial + 1
  13.      End if
  14. Wend
  15. %>
  16. </select>
  #9 (permalink)  
Antiguo 12/01/2010, 10:47
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Select automatico cada nuevo mes...

Cita:
Iniciado por Myakire Ver Mensaje
Código ASP:
Ver original
  1. <select name="periodo">
  2. <%
  3. MesInicial  = 8
  4. AnioInicial = 2009
  5. While (MesInicial <= Month(Date())) OR AnioInicial < Year(Date)
  6.    %>
  7.    <option><%=MonthName(MesInicial) & " " & AnioInicial %>
  8.    <%
  9.      MesInicial = MesInicial + 1
  10.      If MesInicial > 12 Then
  11.         MesInicial = 1
  12.             AnioInicial = AnioInicial + 1
  13.      End if
  14. Wend
  15. %>
  16. </select>
Wooww mucho mejor así donde va a parar!!

Muchas gracias maestro :)

Etiquetas: automatico, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.