• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

access解决组合框无法满足大量数据的问题

mysql 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论

问题 : Access里面有 组合 框,可以很快地从多行记录中选择所需要的 数据 。但是如果记录超过1000-2000呢?选择就非常不方便了。我该怎么办? 回答: 其实很多 数据 都可以分类(分层)来选择,而且我们可以预先筛选 数据 。 以下这个示例就是用重复打开同

问题

Access里面有组合框,可以很快地从多行记录中选择所需要的数据。但是如果记录超过1000-2000呢?选择就非常不方便了。我该怎么办?

回答:

其实很多数据都可以分类(分层)来选择,而且我们可以预先筛选数据

以下这个示例就是用重复打开同一个窗体类来完成多层次数据的选择。

当然,还包括预先筛选数据功能。

好了,现在开始:

1、建立一个窗体(testForm),里面有一个文本框(text0),一个按钮(Command2)。

2、建立一个窗体(selectForm),里面有一个列表框(list0)。

3、在testForm中的文本框的“更新后”事件中写入以下代码以打开品名选择窗体(selectForm),并对其中的列表框(list0)的行来源(RowSource)进行赋值。

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

4、在testForm中的命令按钮的“单击”事件中写入以下代码以打开品名选择窗体,按分类检索

5、然后再在testForm中输入以下代码以完成多次打开窗体本身并显示子类中数据的功能。

为了能够使代码重复利用,写了两个通用过程

Option Compare Database

Dim f

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)

closeAll本文来源gaodai$ma#com搞$代*码6网SelectForm “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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:access解决组合框无法满足大量数据的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址