我有两个问题(他们可能有关系,我不确定)。我以前从未使用过Microsoft Access 2013(或任何Access版本),并使用" for dummies"类型书我试图构建一个前端接口来链接到SQL数据库。为此,我使用导航表单,常规表单,然后使用表格中的表格。保存子表单的表单也是我放置按钮的位置。我对这些按钮的意图是使用它们来过滤表到特定记录。我有一个成功地做了(通过主导航表单),但后来我遇到了所有其他按钮根本不工作的问题,或者调用了那个调用的相同文本框。
这是工作按钮的代码:
我添加了停止宏操作,以便在我按下包含显示所有记录操作的宏的另一个按钮时保持同一个框不弹出。由于问题,我还在显示此按钮上的所有记录操作之前添加了一个停止宏操作(我会做一个图片但我只允许每个站点规则有两个链接)。
当我在显示所有动作之前将停止动作添加到宏时,我发现这个动作阻止了弹出框,但它也没有向我显示所有记录。如果没有停止操作,它的行为就像搜索工厂ID按钮一样。
我的问题的第二部分是我的第三个按钮当前确实向我显示了所有记录,尽管我试图将其用作搜索功能以弹出一个框并且用户输入全部或部分公司名称过滤记录。
该代码如下所示:
我很确定这个按钮上的代码总体上有一些问题,但一直无法找到与我有同样问题的人的任何资源(或者问题可能是最基本的用户)只是自动知道该怎么做)。我一直依赖youtube视频和访问傻瓜书来尝试构建这些东西,但意识到我有点超出我的技能;但是,我仍然需要为我的工作完成它,所以我坚持不懈。
我感谢任何有关提示/建议的帮助!
答案 0 :(得分:0)
One approach would be to set the OnClick event of your button to use VBA code (Event Procedure), and get the Mill_Id from an Input Box. Macros are much more limiting than VBA and you cannot reasonably use error handling. You can then set the RecordSource property of the form when the button is clicked. The buttons OnClick event would be something like this:
Private Sub Command0_Click()
s = InputBox("What is the Mill ID?", "Mill ID", "")
Me.RecordSource = "SELECT * FROM MyTableWithMillData WHERE Mill_ID = '" & s & "'"
End Sub
Or if the button is on a parent form, and you're trying to change the subform, use this:
Private Sub Command0_Click()
s = InputBox("What is the Mill ID?", "Mill ID", "")
Me!subformcontrolname.Form.RecordSource = "SELECT * FROM MyTableWithMillData WHERE Mill_ID = '" & s & "'"
End Sub