应用筛选器在Access 2013中打开表单宏

时间:2013-10-28 11:05:02

标签: forms vba

我们学校的一个部门已经要求我创建一个数据库,他们可以轻松地存储和过滤数据。

自从我使用Access以来已经很长时间了,我似乎无法记住或找到一种方法来创建一个工作宏,将一个过滤器应用于它打开的表单。

我有一个名为Main_Data的表,其中有一个名为'Class'的列。这是我想要过滤的数据,并在打开表单时显示。正在打开和过滤的表格是“阅读学生报名表”。

我现在正在使用表单构建器,并将其设置如下:

  

表格名称:阅读学生报名表

     

查看:表单

     

过滤器名称:

     

条件:[Main_Data]![Class] ='class1'

     

数据模式:编辑

     

窗口模式:正常

理想情况下,当它运行时,我希望它能让用户输入他们想要应用于过滤器的类,因为这个方法似乎我必须为每个类创建几个不同的宏,然后将它们分配给命令按钮。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

将此代码复制到表单的私有模块中:

Private Sub Form_Open(Cancel As Integer)
'
  Dim strClass
  strClass = InputBox("Please type the class name:", "Class Input", "class1")
'
' not to open the form as no class given:
'  
  if(IsEmpty(strClass)) then
    Cancel = True
    Exit Sub
  end if
'
' filter by class name:
'  
  Me.Filter = "Class='" & strClass  & "'"
  Me.FilterOn = True
'
End Sub

我建议你也重命名你的表格:

Form Name: Reading Student Entry Form => frmStudentEntry

避免表单名称中的空格总是很好的。