表A
ID 列1(替换后的同义词) 列2(替换前的同义词)
1 同义词1 同义词2 同义词3 同义词4……
以下为笔者使用的同义词词库所用的相关代码, 其能够实现以下功能:
在表A中逐个查询数组元素,如果在列2中查到相应数据(同义词2~N),则将其替换为列1中的同义词1。
注:下述代码中,已在先将数组变量name_part(0 to 999)声明为公共数组变量,并已经对其赋值,直接粘贴下述代码会导致程序无法使用。
代码如下:
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim CnStr As String
Dim SQL As String
Dim i, j As Integer
Dim temp_part,part_output As String
StartTime = Timer
CnStr = "Provider=SQLOLEDB;server=服务器名;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名"
cnn.Open CnStr
i = 1
j = 1
Do
SQL = "select 列名 from 表明 where 同义词 like '%" & name_part(i) & "%'"
Set rs = cnn.Execute(SQL)
If rs.EOF Then '如果不存在,则继续查询下一条
i = i + 1
If name_part(i)="" Then '此处自行修改为相应的退出条件
Exit Do
End If
Else
temp_part = rs.Fields(0).Value
name_part(i) = temp_part '如果存在,则将相应的数组元素替换为第一条查询结果
i = i + 1
If name_part(i)="" Then '此处自行修改为相应的退出条件
Exit Do
End If
End If
Loop
rs.Close
Set rs = Nothing
Set cnn = Nothing