説明
Soundex (文字列) はテキスト文字列を評価し、その音を記号化した 4 文字の値を返します。
引数
文字列には、音が似ている文字列のうちの 1 つを指定します。
アクション
Soundex (文字列) はテキスト文字列を評価し、その音を記号化した 4 文字の値を返します。
用途
この関数は、綴りは異なるが音が似ている 2 つ以上のフィールド値を用いてレコードを検索する場合に使用します。
この関数は、綴りが間違っている顧客名を見つける目的にも使用できます。
例
If Soundex{customer.LAST NAME} = Soundex ("Snider") Then
{customer.LAST NAME}
Else
""“姓”フィールドの各値に対して Soundex を実行し、Snider という名前の Soundex 値と同じ Soundex 値を持つ値だけを印刷します。この式では、Sneider、Schneider、Snyder、および Snider という名前が返されます(これらの名前がすべてデータベース中に存在する場合)。
コメント
Soundex は、同じ文字で始まる値に対してのみ機能します。たとえば、Chris と Cris に対しては同じ値(C620)が返されますが、Kris に対しては同じ値は返されません(K620)。
Soundex は、文字列の最初の文字に、以下の規則により作成される 3 文字を付けてコードを作成します。
アルファベット以外の文字(数字や区切り記号)は -1 になります。
a、e、i、o、u、y、h、および w は無視されます(元の文字列の最初の文字である場合は除く)。
c、g、j、k、q、s、x、および z は 2 になります。
得られたコードが 2 文字または 3 文字にしかならなかった場合は、Soundex は 0 を付加して 4 文字にします。たとえば、Lauren という名前の場合、変換されるのは L と r と n だけです(Lrn)。したがって、生成される Soundex コードは L650 になります。
得られたコードが 4 文字よりも長い場合は、5 文字目以降のすべての文字が無視されます。たとえば、Patrick という名前の場合、P、t、r、c、および k が変換されます(Ptrck)。ただし、結果は P362 の 4 文字だけとなります。