
07/04/2003, 13:31
|
| | Fecha de Ingreso: noviembre-2002 Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 4 meses Puntos: 0 | |
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... |