编写文件单选事件,单击文件查找控件,在其单击事件中编写文件查找的语句,实现方法是提供给用户一个输入查找文件的输入框,根据输入的内容打开表进行查找,表中没有所找的文件则退出,否则把找到的文件显示在列表框中,由于列表框设置为报表类型,所以向列表框中增加项时,记录的第一个字段是主项,其它是子项,增加项时应该判断其是否为空值,且用标记设置所增加的是文件。由于全部用中文显示且数据来源于不同的表中,故必须用复合查询语句实现。代码如下:
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