Verhindern doppelter Einträge in einem Access-Formular, wenn der Wert in mehreren Tabellen vorhanden ist

Verhindern doppelter Einträge in einem Access-Formular, wenn der Wert in mehreren Tabellen vorhanden ist

Ich habe eine Access-Datenbank mit zwei Tabellen und einem Formular.

Zur Dateneingabe ist das Formular mit einer der Tabellen verknüpft.

Ich habe:

  • LIVEDBDabei handelt es sich um eine Tabelle mit Informationen zu Live-Kunden.
  • LIVEDBINPUTFormular zur Eingabe von Informationen inLIVEDB
  • CANCELLATIONDBDabei handelt es sich lediglich um eine Tabelle. Wenn jemand storniert, werden die Daten einfach ausgeschnitten LIVEDBund eingefügt CANCELLATIONDB.

Ich habe alle möglichen Regeln, die Duplikate im LIVEDBINPUTFormular verhindern, bin jedoch seit Kurzem auf ein Problem gestoßen: Das LIVEDBINPUTFormular verhindert keine Duplikate aus der CANCELLATIONDBTabelle, sondern nur die LIVEDBTabelle selbst.

Ich möchte, dass das Formular die Eingabe einer Telefonnummer verhindert, wenn die Telefonnummer bereits in der LIVEDBTabelleODERDer CANCELLATIONDBTisch.

Wenn ich ein Meldungsfeld so konfigurieren könnte, dass es etwa Folgendes enthält:"diese Telefonnummer existiert bereits in LIVEDBoder CANCELLATIONDB", und dann die Option, den Benutzer zu diesem Datensatz zu führen oder ihn zu löschen, das wäre ideal.

Ich habe zahlreiche Informationen dazu gefunden, wie dies in mehreren Spalten einer Tabelle erreicht werden kann, aber ich kann weder eine Idee entwickeln noch einen Weg finden, die Duplikate aus beiden Tabellen zu verhindern, d. h., das Formular könnte die Erstellung eines Duplikats verhindern, das in einer der beiden Tabellen bereits vorhanden ist.

Antwort1

Erstellen Sie eine Abfrage, die alle in Ihrer Tabelle und Ihrer Tabelle UNIONgespeicherten Datensätze liefert , und prüfen Sie dann diese Abfrage auf vorhandene Datensätze, bevor Sie neue Datensätze speichern.LIVEDBCANCELLATIONDB

Vorausgesetzt, Ihre CANCELLATIONDBTabelle weist eine identische Struktur wie Ihre LIVEDBTabelle auf (da Sie Datensätze von einer in die andere verschieben), UNIONkönnte die Abfrage folgendermaßen aussehen:

SELECT * FROM LIVEDB UNION SELECT * FROM CANCELLATIONDB

verwandte Informationen