Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Is it not possible to open M.S. access file?
Forum Updated to NodeBB v4.3 + New Features

Is it not possible to open M.S. access file?

Scheduled Pinned Locked Moved Solved General and Desktop
27 Posts 7 Posters 9.2k Views 2 Watching
  • 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.
  • R rockon209

    @Andy314
    I am using Qt 5.7.0

    Andy314A Offline
    Andy314A Offline
    Andy314
    wrote on last edited by Andy314
    #17

    Hi @rockon209
    the QtCompany had the idea to do not distribute the binarys for the ODBC driver anymore. That was in Version 5.5 and 5.6 I think. I initiated a discussion about it. The result was that the driver should be integrated again. I dont know if this is in 5.7 really the case.

    Look if you have in the path like C:\Qt2\5.6\msvc2015\plugins\sqldrivers
    the qsqlodbc files.

    1 Reply Last reply
    0
    • R Offline
      R Offline
      rockon209
      wrote on last edited by
      #18

      @Andy314

      yes the file is present in the path.

      Andy314A 1 Reply Last reply
      0
      • R rockon209

        @Andy314

        yes the file is present in the path.

        Andy314A Offline
        Andy314A Offline
        Andy314
        wrote on last edited by
        #19

        Hello @rockon209,
        oh I am happy :-)

        Now your Problem:
        It must work ! I use it since 1 year.

        We must find the error systhematic.
        First you should try a connection via the windows Windows-ODBC tool.
        I there is something wrong we must not look on Qt.

        1 Reply Last reply
        0
        • R Offline
          R Offline
          rockon209
          wrote on last edited by
          #20

          @Andy314
          How to do that bcoz i new to this database access. I dont know how it works. Could you help me?

          Andy314A D 2 Replies Last reply
          0
          • R rockon209

            @Andy314
            How to do that bcoz i new to this database access. I dont know how it works. Could you help me?

            Andy314A Offline
            Andy314A Offline
            Andy314
            wrote on last edited by
            #21

            Hi @rockon209

            Search in Windows for "ODBC".
            Open the Program, dont know the english name. Something like "ODBC-Datasource 32-bit"
            Tabpage Drivers: Is there a entry like Microsoft Access Driver (*.mdb, *.accdb) ?

            more later...

            1 Reply Last reply
            0
            • R rockon209

              @Andy314
              How to do that bcoz i new to this database access. I dont know how it works. Could you help me?

              D Offline
              D Offline
              Devopia53
              wrote on last edited by Devopia53
              #22

              @rockon209

              Hi.

              Perhaps, you have a very minor problem.
              Compare the connection strings below.

              db.setDatabaseName("Driver={Microsoft Access Driver(*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's not OK!
              
              db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's OK!
              

              The ODBC driver is installed by default on Windows.

              Andy314A 1 Reply Last reply
              1
              • R Offline
                R Offline
                rockon209
                wrote on last edited by
                #23

                @Andy314

                Yes entry is there in the Drivers Tab

                @Devopia53
                i tried it doest work same error again

                1 Reply Last reply
                0
                • D Devopia53

                  @rockon209

                  Hi.

                  Perhaps, you have a very minor problem.
                  Compare the connection strings below.

                  db.setDatabaseName("Driver={Microsoft Access Driver(*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's not OK!
                  
                  db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's OK!
                  

                  The ODBC driver is installed by default on Windows.

                  Andy314A Offline
                  Andy314A Offline
                  Andy314
                  wrote on last edited by
                  #24

                  Jup, use exactly the name shown in the ODBC tool !!!!!

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    rockon209
                    wrote on last edited by
                    #25

                    ok thank you very much guys it worked i was not using the proper syntax.
                    Thank you very much.

                    Andy314A 1 Reply Last reply
                    0
                    • R rockon209

                      ok thank you very much guys it worked i was not using the proper syntax.
                      Thank you very much.

                      Andy314A Offline
                      Andy314A Offline
                      Andy314
                      wrote on last edited by Andy314
                      #26

                      Go in the ODBC tool to the File-DSN tab.

                      Top right button like Add or Create new
                      choose the Access odbc driver -> click >>
                      as next set a filename -> click >>
                      next windows choose a *.accdb file
                      ready -> you have a DSN file which defines the connection.

                      I thought the ODBC tool has a function to test this connection directly, but it has not. So a file.dsn testing program would be nice ....
                      I found out a testing methode with Excel Data Tab->Extern Data -> Data connection Assistant -> ODBC DSN -> and choosed the pervious integrated dsn-file.

                      Nevertheless you should use the content of this file as the connect string in Qt.
                      only DRIVER and DBQ are important here.

                      and you should check in Qt:
                      ```
                      bool ok=QSqlDatabase::isDriverAvailable("QODBC");
                      if(!ok)
                      {
                      ErrorMsg="No ODBC driver available!";
                      return 1;
                      }

                      1 Reply Last reply
                      1
                      • K Offline
                        K Offline
                        konglyn
                        wrote on last edited by
                        #27

                        i guess your os is win7 x64 and you are using Qt 5.7 x64 with access 2013 x86
                        try installing access 2013 runtime x64 , you can download it from microsoft

                        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