IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Erreur 13 suite conversion de 2003 en 2007 [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut Erreur 13 suite conversion de 2003 en 2007
    Bonjour,
    J'ai voulu convertir en AC2007 une base .mdb développée en AC2003, qui avait été compilée correctement sous AC2007 et que je traitais avec AC2007 sans pb.
    Après conversion en AC2007 (.accdb), à l'ouverture j'obtiens l'erreur 13 (incompatibilité de type) à la ligne 4 du code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MaBd As Database
    Dim rst As Recordset
    Set MaBd = DBEngine.Workspaces(0).Databases(0)
    Set rst = MaBd.OpenRecordset("index")
    En essayant de compiler en 2007, je retrouve la même erreur sur une ligne semblable d'une autre procédure.
    Aucune référence ne manque.

    Alors qu'avant conversion, tout se passait bien.
    Un indice de remède ?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Coche la référence Microsoft DAO 3.6 et décoche celle qui est activée qui doit être Microsoft Office 12.0 Access database ... ou Microsoft Active X ....

    Car ton code est pour l'ouverture d'un recordset DAO.

    Cela devrait fonctionner.

    Philippe

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Merci Philippe de la suggestion, mais ça bute toujours malgré la modif des références.
    J'ai essayé en introduisant DAO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MaBd As Database
    Dim rst As DAO.Recordset
    Set MaBd = DBEngine.Workspaces(0).Databases(0)
    Set rst = MaBd.OpenRecordset("index", db_open_dynaset)
    sans plus de succès.

    La compilation donne en plus une erreur sur la ligne 7 (membre de méthode ou de données introuvable)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With rst
      .MoveFirst
      Do While Not .EOF
        Base = !Base
        Set rstB = CurrentDb.OpenRecordset("SELECT * FROM index WHERE ABR = '" & Base & "'")
        DoEvents
        .Edit
        "traitement"
        .Update
        .MoveNext
      Loop
      .Close
    End With
    Je continue à rechercher.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 926
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 926
    Points : 4 843
    Points
    4 843
    Par défaut
    Bonjour à tous,
    André il ne faut pas oublier de saisir la colonne à modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
     .Edit
       !(champ_a_updater]= "traitement"
        .Update
        .MoveNext
    Et puis que veux tu faire au juste avec le recordset rstB ?


  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    @micniv
    Merci de t'intérresser à mon pb.
    Ce n'est pas cette portion de code qui est en jeu. le n'aurais pas du la mettre, elle a pollué la discussion. Elle est effectivement incomplète, mais pour ne pas encombrer le post, j'y avais supprimé des lignes, ce que tu as remarqué.
    Pas de soucis, elle fonctionne bien à l'état "natif" dans mon appli en 2003.

    @Philippe
    J'ai fait comme indiqué, sans changement.

    Comme cette base est la frontale d'une autre base (dans le même répertoire) dans laquelle se trouve la table "index", j'ai transformé aussi cette dernière base en accdb. Pas de changement.

    Je continue à chercher....

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    J'ai trouvé : tout venait de l'absence de "DAO" pour les différents Recordset.
    J'ai modifié en conséquence la version accdb.
    Maintenant la compilation se fait bien sans erreurs et l'appli tourne aussi sans erreurs.
    Ca me surprend, car sous 2007 avec la version .mdb, ça allait bien sans les DAO.

    .accdb serait-il plus exigeant que .mdb ?

    Merci de votre aide.
    Terminé

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    Tu devais les avoirs sous 2003, mais elle a dut sautée en passant sous 2007.

    Philippe

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Eh non, certains DAO n'existaient pas en .mdb !
    Amtiés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 404 suite conversion VS2008 vers VS2013
    Par lerorodu51 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/03/2015, 17h29
  2. Réponses: 2
    Dernier message: 11/03/2011, 11h14
  3. [XL-2007] Conversion Classeur 2003 Vers 2007
    Par goonie66 dans le forum Excel
    Réponses: 1
    Dernier message: 09/08/2010, 21h41
  4. PB de conversion Access 2003 vers 2007
    Par Tybox dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/07/2010, 13h53
  5. [AC-2007] Conversion de 2003 a 2007
    Par machipot dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2009, 04h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo