Utworzyłem tabelę „Klient” i utworzyłem formularz naśladujący proces rejestracji.
Po kliknięciu przycisku „Zarejestruj się” chcę odrzucić proces rejestracji, jeśli kombinacja adresu e-mail i hasła już istnieje. W przeciwnym razie zapisz rekord.
Czy można to zaimplementować w programie Microsoft Access?
microsoft-access
Chiron
źródło
źródło
Odpowiedzi:
Utwórz unikalne ograniczenie dla dwóch kolumn razem, spowoduje to, że Access odrzuci duplikaty jako naruszenie tego unikalnego ograniczenia. To, co zrobisz z błędem, zależy od formy. Tutaj jest SO odpowiedź:
https://stackoverflow.com/questions/2127698/can-we-create-multicolumn-unique-indexes-on-ms-access-databases
Odpowiednia odpowiedź:
Edytuj, ponieważ masz już PK i prawdopodobnie nie chcesz tworzyć nowego złożonego PK, aby go zastąpić, ale jest to druga opcja:
Inną (i złą) opcją jest zapytanie najpierw do bazy danych, a następnie nie wstawianie, ale pozostawia to drzwi potencjalnym problemom z integralnością referencyjną w późniejszym terminie.
Na marginesie jednak; czy na pewno chcesz wstawić każdą unikalną kombinację nazwy użytkownika (adresu e-mail) / hasła? Może to powodować problemy dla użytkowników, którzy zapomnieli hasła i kończą się powielaniem kont. Możesz pomyśleć o jakimś innym złożonym identyfikatorze (np. Uchwyt + hasło są unikalne ORAZ adres e-mail jest unikalny w DB. Lub po prostu adres e-mail jest unikalny. Nie wiem wystarczająco o twoim zestawie problemów - ale to jest coś do przemyślenia.
źródło