I think I can go with ODBC.
ODBC is just an alternative database driver (see here); you still must connect to an actual database engine like MySQL, PostgreSQL, or Microsoft SQLServer. If you continue to use an SQLite-based engine, you'll have the same issues you have now.

As the article I pointed to in my first post describes, you can develop a client-server system based on SQLite. You have to implement a server that runs on the machine where the database file lives. That server can use SQLite as its DBMS, but that is hidden. It has to wrap access to the database to prevent simultaneous access by remote clients. The remote clients do not use SQLite, but access the server through a network-based protocol.

If you have only two tables, then you could use a simple protocol like SOAP (there are some Qt SOAP implementations - Google for them) to send SQL queries from client to server and receive replies. You can develop a QAbstractItemModel to map these replies into something you can display in table views in your clients.

It might be easier to just use a true concurrent client-server DBMS.