Las bases de datos de MSAccess generalmente no se usan por un par de razones. En el pasado, eran escamosas y no aceptaban múltiples conexiones a la vez. Cuando se utiliza la base de datos MSAccess, se crea un archivo de bloqueo (ldb). Cuando ese archivo de bloqueo está presente, nadie más puede acceder a la base de datos. Descubrí que cuando había una aplicación de un solo uso, el rendimiento de MSAccess se degradaría severamente después de aproximadamente 50k filas. Probablemente esto sea mejor ahora, pero ciertamente no fue ajustado para usos más grandes.
Lo que es más típico es usar un sistema de base de datos más robusto como postgres, mysql o MSSQL. Para bases de datos de conexión única, he usado Derby (con Java).
En lo que respecta a VB, no encontrará soluciones profesionales que utilicen VB como software de cliente para una base de datos. Bueno, tal vez hay algunas soluciones que se venden, pero personalmente, las evitaría.
Por lo general, su procesamiento se realizará en un lenguaje como C #, C ++, Java, Perl, Python u otros lenguajes populares. Las bibliotecas se utilizarán para conectarse a la base de datos que están separadas del idioma. Algunas soluciones usarán SQL para consultar y recibir datos, y otras soluciones usarán una biblioteca de Persistencia para crear objetos a partir de los datos (esto se está volviendo más común).
En cuanto a las mejores prácticas, siempre he encontrado que es mejor ser consistente. Si tiene una tienda de cuatro personas que entienden MSAccess y VisualBasic, entonces tiene mucho sentido continuar haciéndolo de esta manera. Si hay un objetivo en la empresa para alejarse de él debido a fallas en el pasado, puede seguir usando VB y cambiar a otra base de datos. Examine las tablas de enlaces en MSAccess: utilicé una aplicación VB en una base de datos MSSQL al vincular las tablas MSSQL en una base de datos MSAccess. El VB no sabía la diferencia entre una tabla ingenua de MSAccess y una tabla vinculada ubicada en otro servidor. La solución VB todavía era escasa, pero funcionaba mucho mejor con conjuntos de datos más grandes.
¡Espero que esto ayude!