我有一个Access 2010数据库,其中有一个表单,可以拉出老师教的所有学生的列表。其中一个字段是"Classperiod";每个老师教5节课。我在一个选项组(第103帧)中有一组切换按钮,我想用它们来按"Classperiod“过滤记录列表。因此,例如,单击其中一个切换按钮将仅显示特定班级的学生。下面是我在选项组事件的“更新后”中为选项组编写的代码:
Private Sub Frame103_AfterUpdate()
Select Case Frame103
Case 1
Me.Filter = "Schedules.Classperiod = 1"
Me.FilterOn = True
Case 2
Me.Filter = "Schedules.Classperiod = 2"
Me.FilterOn = True
Case 3
Me.Filter = "Schedules.Classperiod = 3"
Me.FilterOn = True
Case 5
Me.Filter = "Schedules.Classperiod = 5"
Me.FilterOn = True
Case 6
Me.Filter = "Schedules.Classperiod = 6"
Me.FilterOn = True
Case 7
Me.Filter = "Schedules.Classperiod = 7"
Me.FilterOn = True
Case 8
Me.Filter = "Schedules.Classperiod = 8"
Me.FilterOn = True
Case Else
Me.FilterOn = False
End Select
End Sub
Schedules是Classperiod为其设置字段的表。
现在代码什么也做不了。欢迎任何建议!
发布于 2014-12-13 05:44:05
如果你删除了你的“时间表”,你的过滤器仍然可以工作。只需使用fieldname:
例如:
Case 7
Me.Filter = "Classperiod = 7"
Me.FilterOn = True
Case ....
Me.RecordSource = "Select * FROM Schedules WHERE Classperiod =..."
Me.Requiry
....
发布于 2015-03-27 23:02:25
如果您想要根据五个不同的课时进行过滤,请使您的选项组具有五个切换按钮,每个切换按钮的标题对应于一个不同的课期,例如,切换按钮1的标题为"1“,依此类推。代码如下:
Private Sub Frame103_Click()
Dim Caption As String
Caption = Frame103.Controls.Item(Frame103.Value - 1).Caption
Me.SubformName.Form.Filter = "[Classperiod] = """ & Caption & """"
Me.SubformName.Form.FilterOn = True
End Sub
https://stackoverflow.com/questions/27447135
复制相似问题