MSAccess-Datenbanken werden normalerweise aus mehreren Gründen nicht verwendet. In der Vergangenheit waren sie schuppig und akzeptierten nicht mehrere Verbindungen gleichzeitig. Wenn die MSAccess-Datenbank verwendet wird, wird eine Sperrdatei (ldb) erstellt. Wenn diese Sperrdatei vorhanden ist, kann niemand auf die Datenbank zugreifen. Ich stellte fest, dass sich die Leistung von MSAccess nach einer einmaligen Anwendung nach etwa 50.000 Zeilen erheblich verschlechtern würde. Dies ist jetzt wahrscheinlich besser, aber es wurde sicherlich nicht für größere Anwendungen optimiert.
Typischer ist die Verwendung eines robusteren Datenbanksystems wie Postgres, MySQL oder MSSQL. Für Einzelverbindungsdatenbanken habe ich Derby (mit Java) verwendet.
Was VB betrifft, werden Sie keine professionellen Lösungen finden, die VB als Client-Software für eine Datenbank verwenden. Nun, vielleicht werden einige Lösungen verkauft, aber ich persönlich würde sie vermeiden.
Normalerweise erfolgt Ihre Verarbeitung in einer Sprache wie C #, C ++, Java, Perl, Python oder anderen gängigen Sprachen. Bibliotheken werden verwendet, um eine Verbindung zur Datenbank herzustellen, die von der Sprache getrennt ist. Einige Lösungen verwenden SQL zum Abfragen und Empfangen von Daten, und andere Lösungen verwenden eine Persistenzbibliothek, um Objekte aus den Daten zu erstellen (dies wird immer häufiger).
Was die besten Praktiken angeht, habe ich es immer als am besten empfunden, konsistent zu sein. Wenn Sie ein Geschäft mit vier Personen haben, die MSAccess und VisualBasic verstehen, ist es sehr sinnvoll, dies auf diese Weise fortzusetzen. Wenn es im Unternehmen ein Ziel gibt, sich aufgrund von Fehlern in der Vergangenheit davon zu entfernen, können Sie VB weiterhin verwenden und zu einer anderen Datenbank wechseln. Schauen Sie sich das Verknüpfen von Tabellen in MSAccess an - Ich habe eine VB-Anwendung in einer MSSQL-Datenbank verwendet, indem ich die MSSQL-Tabellen mit einer MSAccess-Datenbank verknüpft habe. Der VB kannte den Unterschied zwischen einer naiven MSAccess-Tabelle und einer verknüpften Tabelle auf einem anderen Server nicht. Die VB-Lösung war immer noch schuppig, funktionierte jedoch mit größeren Datensätzen viel besser.
Hoffe das hilft!