Il n'y a pas de solution idéale, que des bonnes pratiques (ce n'est pas propre à Access, bien sûr).
Le mot de passe doit être stocké quelque part, mais il faut mettre les formes pour gagner du temps :
- le stocker chiffré (bien sûr, l'application doit pouvoir le déchiffrer, donc la clef est en dur quelque part, mais ça retarde un peu).
- les droits sur le fichier où il est stocké doivent être positionnés avec le plus grand soin pour que n'importe qui ne puisse pas le lire.
- dans la mesure du possible, la base de données ne devrait pas être accédée depuis n'importe quelle connexion distante (liste blanche des IP acceptées, par exemple, voire pas d'écoute distante ou via une socket locale si le client est hébergé sur la même machine).
- bien structurer la base de données pour que, si le mot de passe est dérobé, il ne soit possible à l'attaquant que de bricoler ou de dérober les données applicatives stockées dans la BDD, et pas les tables système.
- utiliser des protocoles réseaux chiffrés pour éviter l'écoute.
- utiliser des réseaux physiques dédiés pour ces communications.
- etc...
Après, tout est affaire de compromis entre le budget et le niveau de sécurité requis.
Au fait, un mot de passe ne se met pas en dur dans les sources. Le jour où il change, tu es obligé de patcher le code, alors qu'il suffirait de modifier un fichier de conf !