如何解决组合框无法满足大量数据的选择问题(2)
2 U$ {5 t9 |# b- }: XPrivate Sub List0_DblClick(Cancel As Integer)
* S# c2 s4 t0 V8 ?& p/ n! D) k checkYouSelect, A& R9 i# z1 f0 e% Y) y$ N' x
End Sub
2 F$ u$ U- m6 y2 ^- [+ S4 ~ Private Sub List0_KeyPress(KeyAscii As Integer)
: O% E' P+ b# e5 U8 R '本过程实现全键盘操作
% U: k- \" B/ |! u# P If KeyAscii = 13 Then
2 y( K3 |4 U H6 n* L0 b1 ~+ [ checkYouSelect
1 U; R; M: X. t$ g; p End If$ |# J$ x6 i) z: \: r
End Sub
8 }0 h/ _6 f d' K. K Sub closeAllSelectForm(strFormName As String)2 ~. b- Y5 m, q9 Y
'通用过程17 n3 a- Z0 ~* H, o' a3 a
'本过程用来关闭所有的指定名称的窗体2 L7 {- Z, L, b" w: l' q
For Each objForm In Forms
# l5 Y4 I" o w, x If objForm.Name = strFormName Then! P6 w7 b- L) D$ r; U6 X
DoCmd.Close acForm, objForm.Name
$ s: J& w/ c$ K End If9 c! t1 ]3 s; ]. a7 `9 L6 j1 {
Next objForm* R, D D! n: _( N! Z8 ?2 A
End Sub- D& O6 V+ n5 q& ?
Sub checkYouSelect()
$ j. K* H1 l& ?2 a '通用过程2
# O( ]& ^6 l4 a% O* F9 ? '检测你的选择- ?2 L! k2 t3 G" S
'如果发现 suncount 列为 0(表示没有下一层了)/ @1 e. B7 ?9 o4 }" s {
'就可以把你选定的产品名称放到文本框中了( L% l( x# ? a2 D; B+ R7 j0 R# }* G7 O
On Error Resume Next
V2 g$ I3 Z, F Set f = New Form_SelectForm
' p4 F2 @$ ? |- ?3 B' U Dim objForm As Form
/ l' f4 {6 [0 }5 ~ If List0.Column(0) = 0 Then* U7 j) U2 K: e7 L
Forms("testform").Text0.Value = List0.Column(2)/ U" b+ b6 W) g: L
closeAllSelectForm "SelectForm"
. @+ X% h2 O& w" X Else
. X1 V: q. p6 Y1 { f.Visible = True
1 w% N3 B1 R+ y' a: _ f.List0.RowSource = "SELECT btype.soncount, btype.UserCode, btype.FullName, btype.typeId FROM btype WHERE parid='" & List0.Value & "'"4 \: s4 F! I$ H2 D
End If. ]" u/ c4 X$ z
End Sub |