fragmentación base y código VBA que ya no funciona

beodeo Mensajes publicados 8 Estado Miembro -  
beodeo Mensajes publicados 8 Estado Miembro -
Hola,

Acabo de dividir mi base de datos Access.
Mi código funcionaba perfectamente antes, pero desde entonces, al cerrar mi formulario "interlocuteurs" se ejecuta un código que modifica la tabla "interlocuteurs" (tabla fuente del formulario) y ahora aparece un mensaje de error en tiempo de ejecución 3048 ("no se pueden abrir más bases de datos")

Extracto del código :

Dim DistantDB As DAO.Database Dim SQLcode2 as String SQLcode2 = "DELETE [RETOUR FORMULAIRE PRECEDENT].* FROM [RETOUR FORMULAIRE PRECEDENT];" DistantDB.Execute SQLcode2 DistantDB.Close Set DistantDB = Nothing


Mi código se bloquea en :

DistantDB.Execute SQLcode2


Gracias

Configuración: Windows 7 / Internet Explorer 9.0

3 respuestas

  1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
     
    Hola,

    ¿Qué contiene DistantDB?
    Porque no veo que tome ningún valor en tu código...

    --
    Nos vemos, blux
     "Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
    0
  2. beodeo Mensajes publicados 8 Estado Miembro
     
    buenas noches,

    ups olvidé una línea

    Dim DistantDB As DAO.Database Dim SQLcode2 as String SQLcode2 = "DELETE [RETOUR FORMULAIRE PRECEDENT].* FROM [RETOUR FORMULAIRE PRECEDENT];" Set DistantDB = CurrentDb DistantDB.Execute SQLcode2 DistantDB.Close Set DistantDB = Nothing
    0
    1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      ¿Qué versión de Access?
      ¿Qué versión de DAO en las referencias?
      0
  3. beodeo Mensajes publicados 8 Estado Miembro
     
    pequeñas precisiones:
    1/: he traído mi tabla localmente y ya no tengo ningún problema...
    pero con la conexión siempre aparece el mismo mensaje de error.
    2/ en mi formulario tengo subformularios que a través de consultas utilizan esta famosa tabla como fuente.

    si puede iluminarte un poco más...
    0
    1. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      Como ya lo he pedido:
      ¿Qué versión de Access?
      ¿Qué versión de DAO en las referencias?

      ¿Tu código está limpio? ¿Eliminas bien los objetos después de haberlos usado (set ... = nothing)?
      0
    2. beodeo Mensajes publicados 8 Estado Miembro
       
      versión Access: 2002/2003
      versión DAO: 3.6

      elimino constantemente los objetos después de haberlos utilizado...
      y creo poder decir que mi código es limpio (bueno, casi...)
      0
    3. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      Hay un límite de 255 "objetos conectados" abiertos en Access. ¿Quizás tú estás al límite?
      0
    4. beodeo Mensajes publicados 8 Estado Miembro
       
      ¿Existe la posibilidad de que usar esta tabla varias veces en subformularios provoque “interferencias” con el código SQL (que también la modifica con el DELETE)?
      0
    5. blux Mensajes publicados 2046 Fecha de registro   Estado Moderador Última intervención   3 455
       
      No podría ser categórico.
      Si hace falta, si haces mucho VBA, podrías pasar a una transacción para lo que son las actualizaciones...
      0