我已经在Microsoft Access中创建了一个报告,该报告为用户提供了存储在称为报告数据的数据表中的标识号,位置,注释等数据。当我点击打开报告时,它将加载所有2000+页面报告(每个IDENT NO)。但是,我只想输入要加载/显示的IDENT NO,以便用户选择1报告。Microsoft Access VBA:按钮来筛选报告
我用下面的代码创建了一个按钮,我想通过用户在点击时输入IDENT NO来过滤我的报告(当用户单击按钮时,弹出窗口会询问IDENT NO,然后我只想打开与该IDENT NO关联的单个报告)。然而,当我这样做时,它只会加载我想要的1页报表,但是没有其他数据字段被填充。我一直在玩代码一段时间了,但我不能似乎找出问题是基于下面的代码还是由于另一个问题。
作为参考,识别号码采用带破折号的数字形式,然后是如下所示的版本:1940-1或1940-2或2910-1都是识别号码的示例。
Private Sub Command33_Click()
Dim id As String
id = InputBox("Enter the identification number:", "Report Filter")
'if a value was entered, open and filter report
If Len(Trim(id)) > 0 Then
DoCmd.OpenReport "RARL Requests Report", acViewPreview, , "[IDENT NO] like " & id, acWindowNormal
End If
End Sub
是否可以修改上述内容,以便打开任何以用户输入内容开始的报告。例如,如果我有IDENT NO的1940-1,1940-2和1940-3的报告,并且用户只输入1940到InputBox,它会显示所有这3个报告? – Xcelrate
''[IDENT NO] LIKE'“&id&”*'“' - 组合框仍然是我推荐的方法。只需设置为不限制输入到列出的值。但该列表仍然会在那里引导用户输入有效的完整身份证号码。 – June7
我明白你的意思了。是否有一个组合框功能,我可以替换该代码行中的InputBox,以便我仍然单击该按钮打开组合框选择?如果是这种情况,其余的代码是否需要额外的修改? – Xcelrate