Este es el codigo algo cambiado, pero sigue ocurriendo lo mismo.
Puede estar el problema en el tipo de cursor del recordset o el tipo de bloqueo. He probado de varias formas y tambien falla.
Lo raro es que no siempre lo hace. Unas veces mete 2 registros iguales, nunca mas de dos, y otras 1.
Funcion con ADDNEW:
Código:
function AddProject(ID_Empresa, Descripcion, FechaInicio)
abre_conexion_Admin
set rsproject=CreateObject("adodb.Recordset")
rsproject.open "Proyectos", dbcSuperConexion, 2, 3, 2
rsproject.MoveLast
nuevoproyecto = cInt(rsproject("ID_Proyecto") + 1)
rsproject.AddNew
rsproject.Fields("ID_Proyecto")= nuevoproyecto
rsproject.Fields("ID_Empresa")= ID_Empresa
rsproject.Fields("Nombre_proyecto")= Descripcion
rsproject.Fields("FechaInicio")= FechaInicio
rsproject.update
rsproject.close
set rsproject = nothing
If Err then
response.write("Error de conexion" & err.description)
Exit Function
end if
AddProject = True
cierra_conexion
End Function
Funcion con INSERT INTO:
Código:
Function AddProject2(nuevoproyecto, ID_Empresa, Descripcion, FechaInicio)
Dim cmd
Dim strSQL
Set cmd = CreateObject("ADODB.Command")
strSQL = "INSERT INTO Proyectos (ID_Proyecto, ID_Empresa, Nombre_proyecto, FechaInicio)"
strSQL = strSQL & " VALUES"
strSQL = strSQL & " (" & nuevoproyecto & ", " & ID_Empresa & ", '" & Descripcion & "', '" & FechaInicio & "')"
cmd.CommandText = strSQL
On Error Resume Next
abre_conexion_admin
If Err then Exit Function
cmd.ActiveConnection = dbcSuperConexion
cmd.Execute
If Err then Exit Function
AddProject2 = True
cierra_conexion
End Function
Por favor, que alguien me saque de este lio.