Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: saarmike am Juli 31, 2014, 16:33:41

Titel: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: saarmike am Juli 31, 2014, 16:33:41
Hallo und wieder mal ich  ;)

Ich muß nun einen Duplettenabgleich realisieren der wie folgt auszusehen hat:

Tabellen:
relImport (hier befinden sich die zu überprüfenden Daten drin)
relArchiv (hier befinden sich alle bis dato gelieferten Daten drin)

Jetzt muß ich überprüfen ob die gelieferte Telefonnummer schon im Archiv vorhanden ist, dabei
ist zu beachten das in der Archivtabelle bis zu 3 Telefonnummern hinterlegt sein können (Phone1, Phone2, Phone3). Sollte ein Duplikat vorhanden sein soll in der relImport Tabelle im Feld ErrMessage der Text "Duplette" und im Feld ErrKey die Zahl 9 eingefügt werden.

Ich hoffe es kann mir jemand weiterhelfen da ich durch die 3 Telefonnummern komplett auf dem Schlauch stehe!!
Titel: Re: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: database am Juli 31, 2014, 20:06:19
Hallo,

zeig mal bitte den Tabellenaufbau.
Titel: Re: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: saarmike am August 01, 2014, 09:37:35
Hallo,
Tabellenaufbau ist wie folgt:

relImport:                                        relArchiv:
KundenNr (integer)                          KundenNr (integer)
Telefonnummer1 (Varchar,20)          Phone1 (Varchar, 20)
                                                         Phone2 (Varchar, 20)
                                                         Phone3 (Varchar, 20)
                                                         ErrMessage (Varchar, 50)
                                                         ErrKey (byte)
Titel: Re: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: saarmike am August 01, 2014, 09:40:14
Ups, sorry kleiner Fehler unterlaufen :-(
So ist es dann richtig:

relImport:                                        relArchiv:
KundenNr (integer)                          KundenNr (integer)
Telefonnummer1 (Varchar,20)          Phone1 (Varchar, 20)
ErrMessage (Varchar, 50)                 Phone2 (Varchar, 20)
ErrKey (byte)                                    Phone3 (Varchar, 20)

Titel: Re: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: MaggieMay am August 01, 2014, 10:43:31
Hi,

so könnte eine der Abfragen aussehen:Update relImport Set ErrMessage = "Duplikat", ErrKey = 9
Where Exists (Select Null From relArchiv Where relArchiv.KundenNr = relImport.KundenNr And relArchiv.Phone1 = relImport.Telefonnummer1) 

BTW:
Dublette schreibt sich mit "b".
Titel: Re: Wie realisiere ich am geschicktesten eine Duplikatsuche?
Beitrag von: saarmike am August 01, 2014, 11:11:04
Hallo Maggie,

sorry da bin ich anscheinend durch das Wort Duplikate etwas ins schleudern gekommen, lach  ;)

Wollte das ganze aber nicht über eine Abfrage Händeln sondern in einem ADO.Recordset die
Aktualisierung durchführen, da ich keine Verknüpften Tabellen im Frontend habe.