ASP - Grabacion Multiple (Ayuda Urgente)

 
Vista:

Grabacion Multiple (Ayuda Urgente)

Publicado por PrincipianteAsp (6 intervenciones) el 14/08/2006 15:26:23
Tengo un formularion donde armo el registro a grabar, grabo sin problemas cuando es un usuario ( base datos ACCESS ) ,el problema se me genera cuando dos usuarios quieren grabar al mismo tiempo, me da un error , quisiera saber como puedo controlar ese tema.
Por favor si me pueden explicar con manzanitas seria lo ideal por que no tengo mucha experiancia en este tema.

Agradeceria Ayuda para un pricipiante
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por Santos Pairazamán (415 intervenciones) el 14/08/2006 16:45:24
Seguramente estas generando el código (id) cuando el user esta en línea lo q dbs hacer es verificar si el código o id q estas almacenando ya existe si no existe lo insertas como nuevo esto dbido a q los indices no pueden ser duplicados.

Espero t sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por PrincipianteAsp (6 intervenciones) el 14/08/2006 16:57:33
Santos gracias por tu repuesta ,
Pero Que es un codigo ( ID ) PERDON MI IGNORANCIA.

por lo que entiendo, eso es lo que hago, antes de grabar verifico que este registro no este, o sea tengo una solicitud numero 20 primero verifico que no este esta solicitud grabada en la tabla y luego la inserto, eso es lo que hago ahora , el problema se me genera cuando dos usuario van a grabar al mismo tiempo me dice que la base de datos esta en uso, como puedo hacer para controlar esa situacion o captura el error y pedir que graben nuevamente???

Te agradeceria me pudieras responder ya que soy nuevo en estas lides ( internet ).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por Santos Pairazamán (415 intervenciones) el 14/08/2006 17:40:47
Un ID es un dientificador de registro, est no puede ser duplicado ya q sólo db haber uno por registro.

En cuanto a lo segundo revisa como abriste el recordset db ser dynamic ya q estas actualizando la bd y optimistic.

rs.open tuselect,1,2

Espero t sirva.

Hasta Pronto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por PrincipianteAsp (6 intervenciones) el 14/08/2006 18:42:27
Santos este es el codigo que tengo:

Dim oConn, Rs,Fecha,Sql,CodAsig,UltimoFolio
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("\Solicitudes\Bd_Solic.mdb")
Set RS = Server.CreateObject ("ADODB.RecordSet")

<con esto de abajo verifico el ultimo ya grabado en la tabla para no generar duplicidad de registro la tabla tiene un ID principal>

Sql="SELECT Top 1 dc_Solicitud FROM t_Solicitud order by dc_Solicitud DESC"
set Rs = oConn.Execute(SQL)
UltimoFolio= rs("dc_Solicitud")+1

Ssql="Insert Into t_Solicitud"
Ssql= Ssql & "(dc_Solicitud,dc_Region,dc_Provincia,dc_Comuna,dc_Descripcion,df_Solicitud,dg_Contacto,dg_email,dg_cargo,dg_fono,dg_Reporte,dc_Recepcion,dc_recepcionado,dc_asignado,dc_estado,dc_Lugar_Solucion,dg_Observacion)"
Ssql= Ssql & "values "
Ssql= Ssql & "(" & UltimoFolio & ","
RegProvComu=right(Comuna,5)
Reg=cint(left(RegProvComu,2))
Prov=cint(mid(RegProvComu,3,1))
Comu=cint(right(RegProvComu,2))
Ssql= Ssql & Reg & ","
Ssql= Ssql & Prov & ","
Ssql= Ssql & Comu & ","
Ssql= Ssql & "'"&left(Comuna,len(Comuna)-5)& "'" & ","
FechaFinal=right(Fecha,4) & mid(Fecha,4,2) & left(Fecha,2)
Ssql= Ssql & "'"&FechaFinal&"'" & ","
Ssql= Ssql & "'"&Contacto&"'" & ","
Ssql= Ssql & "'"&Mail&" '" & ","
Ssql= Ssql & "'"&Cargo&"'" & ","
Ssql= Ssql & "'"&Fono&"'" & ","
Ssql= Ssql & "'"&Reporte&"'" & ","
Ssql= Ssql & ModoContacto & ","
Ssql= Ssql & 0 & ","
Ssql= Ssql & CodAsig & ","
Ssql= Ssql & EstadoSolucion & ","
Ssql= Ssql & ModoSolucion & ","
Ssql= Ssql & "'"&Observaciones&" '" & ")"
set Rs = oConn.Execute(Ssql)

Set Rs = nothing
Set oConn = nothing


Por favor si ves algo que este haciendo mal me dices para corregirlo
Gracias por poner tu experiencia disposcicion de los demas .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por Santos Pairazamán (415 intervenciones) el 14/08/2006 20:00:11
El problema esta aqui

Sql="SELECT Top 1 dc_Solicitud FROM t_Solicitud order by dc_Solicitud DESC"
set Rs = oConn.Execute(SQL)
UltimoFolio= rs("dc_Solicitud")+1

estas sacando el último registro y le aumentas 1, lo q esta pasando es q dos user se conectan y sacan el ,mismo folio y al insertar insertarían uno más del anterior por lo cual sería duplicado.

Sql="SELECT Top 1 dc_Solicitud FROM t_Solicitud order by dc_Solicitud DESC"
set Rs = oConn.Execute(SQL)
UltimoFolio= rs("dc_Solicitud")+1

******
Sql="SELECT * FROM t_Solicitud where dc_Solicitud=" & UltimoFolio
set Rs = oConn.Execute(SQL)
'si hay algún registro q cumpla con la condición
if rs.eof then
'insertas
else
'actualizas o haces un redirect para un nuevo registro.
end if

Espero t sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por PrincipianteAsp (6 intervenciones) el 14/08/2006 20:48:34
Gracias Santos fuistes de gran ayuda,, quede super claro con tus repuestas me gustaria hacerte una ultima pregunta y no te molesto mas , que diferencia tiene conectarse a access de estos dos maneras distintas.

manera 1:

oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\Solicitudes\Bd_Solic.mdb")

manera 2:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("\Solicitudes\Bd_Solic.mdb")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabacion Multiple (Ayuda Urgente)

Publicado por Santos Pairazaman (415 intervenciones) el 17/08/2006 17:16:39
Lee l o q esta en la URL adjunta...

Espero t sirva

Hasta Pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar