Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2010, 07:45
alvaroalejandror
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Sonrisa problemas ASP y SQL SERVER 2000

hola amigos le pido ayuda...
he creado una pagina para control de asistencia, en ASP que guarda dastos en SQLSERVER 2000.
el problema es que en algun momento cuando el usuario mete el codigo del trabajador se guarda la hora en el registro del trabajador y en el de otro trabajador cualquiera...

les dejo el codigo que guarda...
vale= trabajador_nombreyapellido(vtrabajador)
if vale="." then
response.redirect "sic_reloj.asp?op=2&msn=14&lugar="&vlugar&"&trabaj ador="&vtrabajador
else
fecha= FechaG(date())

Dim oConn, rs, SQL, iCuantos, iRegistro
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")

'Access con ODBC:
oConn.Open conexion_per2

SQL="select * from per_asistencia_rep where trabajador=" & vtrabajador & " AND fecha='"& fecha & "' order by trabajador"

rs.Open SQL, oConn, 2, 2
if (rs.EOF) then
rs.addnew
rs.Fields("fecha")=FechaG(date())
rs.Fields("lugar")=vlugar
rs.Fields("trabajador")=vtrabajador
rs.Fields("ingreso1")=vhora
rs.Fields("salida1")=null
rs.Fields("ingreso2")=null
rs.Fields("salida2")=null
rs.Fields("ingreso3")=null
rs.Fields("salida3")=null
rs.Fields("marca")=1

rs.update
rs.close
msn=1
marca=1
'response.redirect "sic_reloj.asp?op=2&lugar="&lugar&"&trabajador="&t rabajador&"&marca=1"

else
marca = rs.Fields("marca")
marca2 = marca + 1
select case marca2
case "1" 'ADICIONA INGRESO 1
rs.Fields("ingreso1")= vhora
rs.Fields("marca")=1
msn=12
marca=1

case "2" 'adiciona SALIDA 1
tiempo=diferencia(rs.Fields("ingreso1"))
if tiempo*1 >10 then
rs.Fields("salida1")=vhora
rs.Fields("marca")=2
msn=1
marca=2
else
msn=13
peri=10-tiempo
end if

case "3" 'ADICIONA INGRESO 2
tiempo=diferencia(rs.Fields("salida1"))
if tiempo*1 >10 then
rs.Fields("ingreso2")=vhora
rs.Fields("marca")=3
msn=1
marca=3
else
msn=13
peri=10-tiempo
end if

case "4" 'ADICIONA SALIDA 2
tiempo=diferencia(rs.Fields("ingreso2"))
if tiempo*1 >10 then
rs.Fields("salida2")=vhora
rs.Fields("marca")=4
msn=1
marca=4
else
msn=13
peri=10-tiempo
end if

case "5" 'ADICIONA INGRESO 3
tiempo=diferencia(rs.Fields("salida2"))
if tiempo*1 >10 then
rs.Fields("ingreso3")=vhora
rs.Fields("marca")=5
msn=1
marca=5
else
msn=13
peri=10-tiempo
end if

case "6" 'MUESTRA SALIDA 3
tiempo=diferencia(rs.Fields("ingreso3"))
if tiempo*1 >10 then
rs.Fields("salida3")=vhora
rs.Fields("marca")=6
msn=1
marca=7
else
msn=13
peri=10-tiempo
marca=7
end if
case else ' Bloque 3
marca=7
msn=12
end select

rs.Update
end if
'Destruyo objetos
set rs = nothing
oConn.Close
set oConn = nothing

basicamente es una fila por dia para cada trabajador .... GRACIAS DE ANTE MANO