J'ai créé la table "Client" et créé un formulaire pour imiter le processus d'inscription.
En cliquant sur le bouton "Enregistrer", je souhaite rejeter le processus d’enregistrement si la combinaison adresse électronique / mot de passe existe déjà. Sinon, sauvegardez l'enregistrement.
Est-il possible d'implémenter cela dans Microsoft Access?
microsoft-access
Chiron
la source
la source
Réponses:
Créez une contrainte unique sur les deux colonnes ensemble. Cela entraînera le rejet des doublons par Access en tant que violation de la contrainte unique. Ce que vous ferez avec l'erreur dépendra de votre formulaire. Il y a une réponse SO ici:
https://stackoverflow.com/questions/2127698/can-we-create-multicolumn-unique-indexes-on-ms-access-databases
La réponse pertinente:
Modifiez car vous avez déjà une PK en place et ne souhaitez probablement pas créer une nouvelle PK composite pour le remplacer, mais c'est l'autre option:
Une autre (et une mauvaise) option consiste à interroger d'abord la base de données, puis à ne pas l'insérer, mais cela laisse la porte ouverte à d'éventuels problèmes d'intégrité référentielle.
En note de côté cependant; Êtes-vous sûr de vouloir insérer pour chaque combinaison de nom d'utilisateur (email) / mot de passe unique? Cela pourrait causer des problèmes aux utilisateurs qui oublient leur mot de passe et qui se retrouvent avec des comptes en double. Vous voudrez peut-être penser à un autre identifiant composite (par exemple, identifiant + mot de passe sont uniques ET le courrier électronique est unique dans la base de données. Ou tout simplement, indiquez l'adresse de messagerie unique. Je ne connais pas suffisamment votre problème. quelque chose à quoi penser.
la source