编写文件单选事件,单击文件查找控件,在其单击事件中编写文件查找的语句,实现方法是提供给用户一个输入查找文件的输入框,根据输入的内容打开表进行查找,表中没有所找的文件则退出,否则把找到的文件显示在列表框中,由于列表框设置为报表类型,所以向列表框中增加项时,记录的第一个字段是主项,其它是子项,增加项时应该判断其是否为空值,且用标记设置所增加的是文件。由于全部用中文显示且数据来源于不同的表中,故必须用复合查询语句实现。代码如下:
Private Sub Option2_Click()
Dim FindKey As String
Dim strWhere As String Dim strSql As String
Dim recTemp As New ADODB.Recordset
FindKey = InputBox("请输入查询文件的关键字", "查询")
strSql = "SELECT DISTINCT A.File_name,A.File_des,_
B.UserName,A.Create_date,A.file_id FROM doc_file A,_
yg_tab B,doc_path C Where A.File_use = B.Userid and_
a.keyword='" & FindKey & "'"
Set recTemp = objDB.ExecuteSQL(strSql)
If recTemp.EOF And Node.Children = 0 Then
ListView1.ListItems.Clear
Else
With recTemp
If .EOF Then Exit Sub
.MoveFirst
Do While Not .EOF
Set lItem = ListView1.ListItems.Add(, "K" + _
CStr(recTemp("file_id")), recTemp(0), , "Doc")
lItem.ListSubItems.Add , , IIf(IsNull(recTemp(1)), "", recTemp(1))
lItem.ListSubItems.Add , , IIf(IsNull(recTemp(2)), "", recTemp(2))
lItem.ListSubItems.Add , , IIf(IsNull(recTemp(3)), "", recTemp(3))
lItem.Tag = "file"
.MoveNext
Loop
End With
TreeView1.Visible = False
End Sub