根据另一个子表单中的选择在子表单中打开记录

时间:2016-03-30 19:37:58

标签: vba filter ms-access-2013 subform

这是我的第一篇文章,但经常查看此网站以解决问题。遗憾的是,我无法为我目前的发展提出解决方案。我正在使用不同类型的设置处理任务列表。主要形式是为多个用户提供一站式服务。

有两个表

队 - ID(autonum) - 名字(文字) - 姓氏(文字) - 全名(计算)

任务 -ID(autonum) - 任务(短文) - 描述(长文) - 开始日期(短日期) - 分配给(查询全名) - 等(附加字段)

MainMenu(主窗体)设置为绑定到Team表。使用下拉字段选择团队成员。该表单有两个子表单(CurrentTaskSub和NewTaskSub)。两个子表单都绑定到任务。 CurrentTaskSub是从Task的查询创建的,其中任务未完成且超过开始日期。 NewTaskSub是任务表的直接形式。

当选择名称时,它使用父/子关系将CurrentTaskSub过滤为分配给该团队成员的任务。那部分有效。

我想要发生的是当你从CurrentTaskSub中选择一个任务时,它将填充在NewTaskSub中以查看任务的所有信息并更改或更新它。然后,当NewTaskSub中保存更改时,它将刷新两个子表单,无论是完成任务,更新任务还是创建新任务。

以下是我的尝试:

在CurrentTaskSub子窗体上,我选择任务字段,并在单击时设置它将执行VBA代码。

我尝试的许多当前代码是:

Forms!MainMenu![NewTaskSub] .Form.Filter =“[Task] =”& Me.Task Forms!MainMenu![NewTaskSub] .Form.FilterOn = True

'使用Forms(NewTaskSub).Recordset '对那个记录集发起反对 'NewTaskSub.FindFirst“[任务] =”& Me.Task '如果找不到项目问题警告 '如果NewTaskSub.NoMatch那么MsgBox Me.Task& “ 未找到” '结束

这两者都会产生调试错误。我认为我走在正确的轨道上,但似乎找到了我希望的解决方案。任何帮助或建议表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

好的,继续测试之后,我已经找到了问题。

这是一个小问题,并不需要我尝试的很多东西。

对于可能遇到类似问题的其他人,我会把它留下来。

我必须使用过滤器并添加一个重新查询,因此对于此实例,代码如下所示:

Me.Parent.Form.NewTaskSub.Form.Filter = "[ID]= " & Me.ID
Me.Parent.Form.NewTaskSub.Form.FilterOn = True
Me.Parent.Controls!NewTaskSub.Form.Requery
相关问题