2017-04-25 1 views
0

ich zwei Tabellen, die eine Spalte Name markiert haben:Access-Abfrage für 2 Tabellen mit ähnlichen Daten

[CurrentRecords].[Name] 
[tbl_vPC].[Name] 

jedoch die CurrentRecords Tabelle auf jeden Namen hat weitere Informationen wie jr, sr, II, III, usw., aber die tbl_vPC enthält diese zusätzlichen Informationen nicht.
Beispiel:

CurrentRecords has: ROBINSON, ROBERT E JR 
tbl_vPC has: ROBINSON, ROBERT E 
CurrentRecords has: ALLEN, DUG V III 
tbl_vPC has: ALLEN, DUG V 

Gibt es eine Abfrage, wo ich alle Datensätze in der CurrentRecords und alle Datensätze in tbl_vPC finden, die ähnlich sind?

+0

können Sie ähnliche definieren? Sie suchen wirklich, um 2 Sätze von Zeichenfolgen gegeneinander zu vergleichen .... so würden Sie einen mehr definierten Satz Beschränkungen anstelle von "sind ähnlich" benötigen. Welche Versuche hast du übrigens versucht? – Fallenreaper

+0

Bearbeiten Sie Ihre Frage und liefern Sie Beispieldaten und gewünschte Ergebnisse. –

+0

'Select * von currentRecords LINKER JOIN tbl_VPC where CurrentRecords. [Name] wie tblVpc. [Name] +"% "' Kann falsche Positive zurückgeben, wenn mehrere Personen ähnliche Namen haben! – xQbert

Antwort

0

Name ist ein reserviertes Wort. Sollte reservierte Wörter nicht als Namen verwenden.

Deshalb sollten Namensteile in separaten Feldern stehen. Das Parsen des Vor- und Nachnamens ist aufgrund des Kommas möglicherweise nicht sehr schwierig, wenn man davon ausgeht, dass JEDER Datensatz diese Konvention hat und JEDER Datensatz in diesem Feld einen Wert hat. Versuchen Sie in Abfragen für jede Tabelle:

x repräsentiert Feld Name

LastName: Left(x, InStr(x, ",")-1)

FirstName: Left(Mid(x, InStr(x,",")+2), InStr(Mid(x, InStr(x,",")+2)," "))

Verwandte Themen