If you want to use Lazarus/FPC, you can definitely not use Access (.mdb, .accdb) as a cross-platform database.
There are some experimental projects that can write to Access mdb files, but no FPC bindings to them exist. Apart from that, they may not even work correctly.
If you want to have similar functionality, I suggest you look into:
- Firebird: can do both embedded (have only used it on Windows, might work on other platforms) (single user) and client/server (multiple user), e.g. using SQLDB components built into Lazarus
- SQLite: embedded (single user); can also be accessed by SQLDB
You could also use PostgreSQL, MySQL if you want to.
FPC SQLDB and MySQL might be a bit tricky because of various versions, but I have never looked into MySQL on Firebird.
PostgreSQL probably makes more sense in a larger environment.
Also ODBC to basically any other RDBMS but I wouldn't recommend that as on Linux/OSX you'd need extra libraries/programs for that (unixodbc or iodbc), which might not be present on end users' systems.
If you ask me, I'd use Firebird so you have the flexibility to use embedded (on Windows, maybe Linux) or client/server. And Firebird scales quite nicely, at least in small to medium size databases, apparently.
If you are sure you'll only need a single user database, I'd go for SQLite, as that is apparently very cross-platform.
<edited 12 July to show I only used Firebird embedded on Windows>