Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Lecture base de donnée Access 2019 avec qt
Forum Update on Monday, May 27th 2025

Lecture base de donnée Access 2019 avec qt

Scheduled Pinned Locked Moved Unsolved French
28 Posts 4 Posters 3.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lacombe
    wrote on last edited by
    #1

    Bonjour,
    J'ai une application Qt qui fonctionne très bien avec Access 2007, mais qui ne fonctionne plus avec Access 2019.
    Voici le c ode:

    void Openbourse::ouvrirBase(QString p)
    {
      QString file = p;
    
    mDatabase = QSqlDatabase::addDatabase("QODBC");
    QString dataBaseString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=" + file;
    
    mDatabase.setDatabaseName(dataBaseString);
    
    bool ok=QSqlDatabase::isDriverAvailable("QODBC");
    
    if (!ok)
    {
        QMessageBox::warning(0, "Ouverture base de donnée", "No ODBC driver available!");
    
    }
    
    if (!mDatabase.open())
                      {
                          QMessageBox::warning(0, "Ouverture base de donnée", p + " : Base de donnée absente !");
    
                        }
    }
    ``La base de donnée ne s'ouvre pas. Je ne comprends pas ce qu'il faudrait faire.
    Merci sincèrement de m'indiquer comment procéder`.
    Merci d'avance.
    jsulmJ 1 Reply Last reply
    0
    • L lacombe

      Bonjour,
      J'ai une application Qt qui fonctionne très bien avec Access 2007, mais qui ne fonctionne plus avec Access 2019.
      Voici le c ode:

      void Openbourse::ouvrirBase(QString p)
      {
        QString file = p;
      
      mDatabase = QSqlDatabase::addDatabase("QODBC");
      QString dataBaseString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=" + file;
      
      mDatabase.setDatabaseName(dataBaseString);
      
      bool ok=QSqlDatabase::isDriverAvailable("QODBC");
      
      if (!ok)
      {
          QMessageBox::warning(0, "Ouverture base de donnée", "No ODBC driver available!");
      
      }
      
      if (!mDatabase.open())
                        {
                            QMessageBox::warning(0, "Ouverture base de donnée", p + " : Base de donnée absente !");
      
                          }
      }
      ``La base de donnée ne s'ouvre pas. Je ne comprends pas ce qu'il faudrait faire.
      Merci sincèrement de m'indiquer comment procéder`.
      Merci d'avance.
      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @lacombe Are you sure you selected the correct forum ("Announcement") for your problem/question?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Thread déplacé

        Quelle est l'erreur exact ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • L Offline
          L Offline
          lacombe
          wrote on last edited by
          #4

          Bonjour,
          L'erreur est: database not open

          Sur un forum on m'a dit qu'il fallait désactiver le service "click to run", mais rien n'y fait.
          Merci de votre aide.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Quelle version de Qt ?
            Est-ce que le driver est pré-compilé ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • L Offline
              L Offline
              lacombe
              wrote on last edited by
              #6

              Bonjour,
              Il s'agit de la version QT5.9.2

              Je suis encore novice, je ne comprends pas ce que veut dire driver pré-compilé.

              Merci beaucoup de m'expliquer.

              KroMignonK 1 Reply Last reply
              0
              • L lacombe

                Bonjour,
                Il s'agit de la version QT5.9.2

                Je suis encore novice, je ne comprends pas ce que veut dire driver pré-compilé.

                Merci beaucoup de m'expliquer.

                KroMignonK Offline
                KroMignonK Offline
                KroMignon
                wrote on last edited by
                #7

                @lacombe said in Lecture base de donnée Access 2019 avec qt:

                Je suis encore novice, je ne comprends pas ce que veut dire driver pré-compilé.
                Merci beaucoup de m'expliquer.

                Qt est un framework C++ open source. A ce titre, vous avez accès aux sources et ce que @SGaist voulait savoir c'est si vous avez compilé vous même le plugin ODBC ou est-ce que vous utilisez une version pré-compilée (par exemple celle fournit par Qt).

                It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  lacombe
                  wrote on last edited by
                  #8

                  Bonjour,
                  Je n'ai pas compilé le plugin ODCB. Je ne sais pas faire du tout cela. J'utilise simplement Qt avec le code précédent avec la version Qt 5.9.2
                  Merci d'avance de m'expliquer comment procéder.

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    lacombe
                    wrote on last edited by
                    #9

                    Bonjour,
                    Le pilote QODBC marche bien semble-t-il. J'ai tout essayé mais je pense qu'il y a un problème de compatibilité entre Microsoft Access 2019 et autres applications comme Qt. Ce n'était pas le cas avec Access 2007.
                    Si toutefois vous aviez une réponse à m'apporter, ce serait sympa car maintenant je ne sais plus quoi faire, sinon abandonner.
                    Merci d'avance.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Normalement il devrait y avoir un message d'erreur donnant une indication de ce qui n'a pas fonctionné.

                      QSqlDatabase::lastError est un bon point de départ.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        lacombe
                        wrote on last edited by
                        #11

                        Bonjour,
                        Merci de cette info. En effet mon système d'exploitation est de 64 bits et Microsoft Access 2019 est 64 bits. J'ai donc été à l'administrateur de source de données ODBC 64 bits, la source de donnée Microsoft Access existe mais il n'y a pas de pilote ODBC associé. L'on me dit d'utiliser le programme d'installation de pilote.
                        Je n'ai pas pu trouver comment procéder pour cela.
                        Merci de m'aider.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          Ce on ne peut-il fournir le lien ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0
                          • L Offline
                            L Offline
                            lacombe
                            wrote on last edited by
                            #13

                            Bonjour,
                            Merci de votre réponse. C'est l'indication qui est donnée dans le tableau de l'administrateur de source de données. Il n'y a aucun lien. Cela dit, il y a des sites que ne connaît pas que j'ai parcouru mais qui ne donnent pas véritablement de réponses.
                            Une fois de plus merci de m'aider.

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              Ce thread stack overflow peut donner une piste.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                lacombe
                                wrote on last edited by
                                #15

                                Bonjour,
                                Merci pour cette info.
                                J'ai exécuté à partir de l'invité de commande : accessdatabaseengine_X64 / quiet comme indiqué dans le lien que vous m'avez fourni.
                                Dans l'administrateur de source de données ODBC 64 bits, j'ai le pilote Microsoft Access Driver (*.mdb, *.accdb) ACEODBC.DLL
                                Dans l'administrateur de source de données ODBC 32 bits, il n'y est pas.
                                Ma base de donnée ne s'ouvre toujours pas.
                                Merci d'avance de m'aider.

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #16

                                  Qu'est-ce que QSqlDatabase::lastError donne comme information ?

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  0
                                  • L Offline
                                    L Offline
                                    lacombe
                                    wrote on last edited by
                                    #17

                                    Bonjour à nouveau,
                                    Excusez moi d'abuser de votre temps.
                                    QSqlDatabase::lastError donne:
                                    "[Microsoft] [Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié QODBC3: Unable to connect"

                                    Merci beaucoup de votre aide.

                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #18

                                      Quel est la chaîne de caractères finales utilisées pour la connection ?

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        lacombe
                                        wrote on last edited by
                                        #19

                                        Bonjour,
                                        En réponse à votre question la chaine de caractères finale est: " C:/Rolland/OPCVM/PEA 2021.accdb". C'est la chaine que contient "file".
                                        C'est exactement ce qu'il y avait avec Access 2007.
                                        Merci de votre aide une fois de plus.

                                        1 Reply Last reply
                                        0
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #20

                                          Est-ce que le problème persiste si le chemin utilise le séparateur natif ?

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved