Ya sé que el 8 es sábado y el 16 es domingo.
Pero... alguien conoce la forma de determinar de manera automática cuáles de esos días son sábados o domingos y excluirlos para que no entren a un SIGUIENTE SELECT?
Saludos

| |||
![]() Si tengo una lista de días de marzo que obtengo desde un SELECT, por ejemplo 3, 4, 5, 6, 7, 8, 10, 11, 16 Ya sé que el 8 es sábado y el 16 es domingo. Pero... alguien conoce la forma de determinar de manera automática cuáles de esos días son sábados o domingos y excluirlos para que no entren a un SIGUIENTE SELECT? Saludos ![]() |
| ||||
haber si esto te da alguna idea... Actual=date if WeekDayName(WeekDay(Actual)) <>"Sabado" then ' es sabado(obvio) end if si no te resulta colocale los acentos y a todos los dias comienzan con mayusculas saludos
__________________ Manual de ASP Avanzado ;-) |
| |||
Ya probé con WeekDayName... ...pero el problema es que funciona con un número de día, o sea yo le mando un número del día de la semana y me dice el nombre. Por ejemplo, el día 0 es domingo, 1 es lunes, 2 es martes... y el dia 6 es sábado. Pero lo que yo tengo son los dias del mes y no se aplica el WeekDayName. Alguna otra idea, algún SCRIPT? No se rindan maestros ![]() ![]() |
| ||||
pos no te podemos dar todo en bandeja..investiga sobre las funciones de fecha
__________________ Manual de ASP Avanzado ;-) |
| |||
No espero que me hagan mi trabajo... espero ideas de cómo entrarle de otra forma. De hecho tengo desde la semana pasada aplicando todo lo relacionado con las fechas y llegue a un punto en que necesito de alguien que sepa me mande algunas señales. Me sorprenden sus comentarios... Espero que haya maestros más dispuestos a aportar |
| |||
es un sistema de horarios de entrada y salida Gracias urjose ... Tengo una BD de Access con las entradas y salidas de los empleados. Con ASP saco los registros, aplico una serie de criterios y despliego los datos en base a esos criterios. Pero me piden que solo despliegue los días habiles y elimine sábados y domingos. De las fechas saco los días del mes y los despliego, luego aplico el WeekDayName, pero no me da bien los nombres de los días porque le aplico los días de febrero del 1 al 28 y lo que acepta el WeekDayName es el ordinal del día para decirme su nombre. Una versión resumida del codigo es: ==================================== <% Dim dias(31) 'key_empleado = Request.Form("key_empleado")' key_empleado = 17 set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" _ & "DBQ=" & Server.MapPath("asistencia.mdb") Sql = "SELECT DISTINCT day(DateTime), month(DateTime), year(DateTime) FROM Asistencia WHERE KeyCardNumber="&key_empleado&" ORDER BY month(DateTime)" Set RS = oConn.Execute (Sql) Do While Not RS.EOF dias(i) = RS(0) %> <TABLE border="1"> <tr> <td align="left" class="ve11bldkno"><%= WeekDayName(WeekDay(dias(i))) %></td> <td align="center" class="ve11bldkno"><%= dias(i)%></td> <% Sql = "SELECT TOP 1 MIN(A.DateTime), A.DateTime, A.Name, A.KeyCardNumber, C.KeyCardNumber, C.full_name " _ & " FROM Asistencia A, Cat_empleados C "_ & " WHERE A.KeyCardNumber=C.KeyCardNumber AND A.KeyCardNumber="&key_empleado&""_ & " AND A.name ='entrada' AND DAY(A.DateTime)="&dias(i)&" AND MONTH(A.DateTime)=2"_ & " AND (hour(A.DateTime)>=1 And hour(A.DateTime)<=15) "_ & " GROUP BY A.NAME, A.KeyCardNumber, C.KeyCardNumber, C.full_name, A.DateTime ORDER BY A.DateTime" 'Response.Write SQL & "<br><br>"' Set RSentradaM1 = oConn.Execute (Sql) IF NOT RSentradaM1.EOF THEN fecha1 = RSentradaM1(0) Hora1 = Hour(fecha1) if len(hora1)<>2 then hora1 = "0" & hora1 end if Minuto1 = Minute(fecha1) if len(Minuto1)<>2 then Minuto1 = "0" & Minuto1 end if %> <td align="center" class="ve11bldkno" bgcolor="#F4F4E3"><%=hora1%>:<%=minuto1%></td> <% END IF %> <% RS.MoveNext %> <% LOOP %> </table> <% RS.Close Set RS=nothing set RSentradaM1=nothing %> ==================================== Este código corre y me dice: Thursday 5 Friday 6 07:41 Saturday 7 08:24 Sunday 8 El 5 de febrero no hubo registro de entrada y no fue jueves. El 6 de febrero entró a las 07:41 pero no fue viernes, etc. Voy a tratar de aplicar tu código... |
| |||
Respuesta: Saber cuando es sábado o domingo Según como entiendo es que en el select estas haciendo mal porque sacas por separado el dia, el mes y el año y ese dia que estas sacando es el que intentas convertir a la semana y como bien lo dijiste la funcion necesita un numero del 1 al siete y al sacar el dia puede sacar un dia mayor a siete. Lo que deberías sacar es la fecha completa una vez que tengas esa fecha usa la funcion weekday(de la fecha tomada de tu select) para que te diga el dia de la semana en numero y si necesitas mostrar la descripcion de ese numero utiliza la funcion weekdayname(weekday(de la fecha tomada de tu select))...Ojala te sirva mi aporte ![]() |