Foros del Web » Soporte técnico » Ofimática »

Problema de Access con origen de datos ODBC

Estas en el tema de Problema de Access con origen de datos ODBC en el foro de Ofimática en Foros del Web. Buenas tardes! Tengo un problemilla con una base de datos de access que espero que me podais ayudar... En una base de datos Access 2003 ...
  #1 (permalink)  
Antiguo 14/11/2011, 10:56
 
Fecha de Ingreso: noviembre-2005
Mensajes: 94
Antigüedad: 18 años, 5 meses
Puntos: 0
Sonrisa Problema de Access con origen de datos ODBC

Buenas tardes!
Tengo un problemilla con una base de datos de access que espero que me podais ayudar...
En una base de datos Access 2003 entre sus tablas tengo 2 grupos unas tablas propiamente creadas en access y otras tablas vinculadas de una base de datos ODBC cuyos datos utilizo en una aplicacion realizada en PHP y Mysql. La aplicacion se base en migrar los datos de access a las otras tablas y en un formulario en access hago esa migracion.
Cuando es la primera vez que migro todo lo hace perfectamente realizando los INSERT correspondientes pero cuando quiero hacer alguna modificacion con Edit y Update me da el siguiente error:
EL MOTOR DE BASE DE DATOS MICROSOFT JET DETUVO EL PROCESO PORQUE OTRO USUARIO ESTA INTENTANDO MODIFICAR LOS MISMOS DATOS QUE USTED AL MISMO TIEMPO ( ERROR 3197)

No existen otro usuarios accediendo al mismo tiempo, ya que solo lo utilizo yo, esto me ha hecho pensar que quizas se quede abierta alguna conexion odbc abierta y sea la causante de este error.

El codigo lo he puesto lo mas simple posible para realizar las pruebas:

Set Puntero1 = MiBase.OpenRecordset("SELECT IMPRESO,NUMTRABAJO, MaterialId, NUMCLIENTE, NUMOBRA FROM [000 AZUL] WHERE Migrado=1 ORDER BY NUMTRABAJO ASC; ")

'HASTA QUE NO SEA FINAL DE FICHERO COMPROBAMOS CADA REGISTRO A VER SI YA ESTABA ANTES O NO
Do Until Puntero1.EOF
Set Puntero2 = MiBase.OpenRecordset("SELECT IMPRESO,NUMTRABAJO, AridoId, NUMCLIENTE, NUMOBRA FROM 000azul WHERE NUMTRABAJO= '" & Puntero1("NumTrabajo") & "' ; ")
If not puntero2.EOF Then
Puntero2.Edit
Puntero2("Impreso") = Puntero1("Impreso")
Puntero2.Update
end if
puntero1.movenext
loop


Espero me puedan ayudar...

Muchas gracias de antemano y un saludo!!!

Fiss05
  #2 (permalink)  
Antiguo 19/12/2011, 20:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema de Access con origen de datos ODBC

Estimado Amigo. Access no sabe o no interpreta los SELECT FOR UPDATE desde espacios de trabajo Microsoft Jet. Por ende cuando trabaje con BBDD de Servidor, como MySQL o SQLServer, realice la lectura mediante un recordset (SELECT * FROM ...) usando rs.movenext pero luego realice las actualizaciones mediante un docmd.runsql "UPDATE tabla SET ....". Con esto evitará el maldito mensaje 3197. Saludos.

Etiquetas: access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:53.