Private Sub Text0_AfterUpdate() DoCmd.OpenForm "selectform" '这行代码就实现了BTYPE表的模糊检索,使用的是 WHERE 子句中的 LIKE 关键字进行通配 Forms("selectform").List0.RowSource = "SELECT btype.soncount, btype.UserCode, btype.FullName, btype.typeId FROM btype WHERE btype.fullname like '*" & Text0.Value & "*' " End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) '先设定窗体的“键预览”属性为“是” '本过程将加快你的输入速度 '如果按 ESCAPE 键,就关闭窗体 If KeyCode = vbKeyEscape Then closeAllSelectForm "SelectForm" End If End Sub
Private Sub List0_DblClick(Cancel As Integer) checkYouSelect End Sub
Private Sub List0_KeyPress(KeyAscii As Integer) '本过程实现全键盘操作 If KeyAscii = 13 Then checkYouSelect End If End Sub
Sub closeAllSelectForm(strFormName As String) '通用过程1 '本过程用来关闭所有的指定名称的窗体 For Each objForm In Forms If objForm.Name = strFormName Then DoCmd.Close acForm, objForm.Name End If Next objForm End Sub
Sub checkYouSelect() '通用过程2 '检测你的选择 '如果发现 suncount 列为 0(表示没有下一层了) '就可以把你选定的产品名称放到文本框中了 On Error Resume Next Set f = New Form_SelectForm Dim objForm As Form If List0.Column(0) = 0 Then Forms("testform").Text0.Value = List0.Column(2) closeAllSelectForm "SelectForm" Else f.Visible = True f.List0.RowSource = "SELECT btype.soncount, btype.UserCode, btype.FullName, btype.typeId FROM btype WHERE parid='" & List0.Value & "'" End If End Sub