1

我们学校的一个系要求我创建一个数据库,他们可以在其中轻松存储和过滤数据。

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

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

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

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

视图:表格

过滤器名称:

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

数据模式:编辑

窗口模式:正常

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

非常感谢任何帮助!

4

1 回答 1

1

Like this ?

Copy this code in your private module of the form:

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

I suggest you also rename your form:

Form Name: Reading Student Entry Form => frmStudentEntry

Avoiding space in form names is always a good pratice.

于 2013-10-28T12:57:01.693 回答