0

我将通过预先承认我不是专业程序员或数据库设计师来证明这一点。我有一个特定的问题要解决——需要管理大量关于员工福利请求的信息——以及有限的资源,并建立了一个数据库来替换我继承的 Excel 电子表格。我边走边学,我真正想知道的是,Access 能否实现我的设想,或者我是否需要调整我的目标?

我的数据库包括的主要表是 EMPLOYEES、REQUESTS、TASKS 和 ACTIVITY(加上一些用于下拉字段的辅助表等)。每个员工可以有多个请求,对于每个请求,我使用 TASKS 来跟踪需要完成的所有工作、由谁以及何时完成,以从头到尾查看请求(我是dbase 文件本身,但我将任务列表作为报告发布给相关人员)。正如您所期望的那样,活动是“日志”功能,我可以在其中跟踪所做的事情、对话等。

我现在要做的是加快任务进入的过程,因为对于大多数请求,任务流程非常相似。我已经为“TASK OWNER”和“TASK CATEGORIES”创建了表 - 两者都与我的主 TASKS 表相关 - 所以我可以标准化这些字段的数据输入,除了对其进行过滤(“向我展示员工拥有的一切”) . 任务有一个“注释”字段,因此我可以在不更改下拉列表的情况下个性化条目。这是一个进步,但我仍然花费太多时间为我设置的每个新请求添加相同的任务。

我脑子里一直在玩的是用某种代码来识别任务,这些代码将它们与一种请求相关联——即,员工的学费报销请求被识别为“请求类型 001”,并且所有通常执行的任务有学费报销的查找字段将它们连接回“001” - 这样当我选中一个框或从我的表格的下拉列表中选择“001 - 学费报销”时,6或8个“标准”任务会自动下降在任务子表单中,但它们是新记录 - 不仅仅是我从任务类别中查询的“模板任务”。我希望能够在不影响任何其他请求的情况下调整、编辑、更新甚至删除它们。

我发现了很多通过 APPEND 查询添加新记录的信息,但如果有意义的话,它似乎仅限于为每个“事务”生成一个记录 - 每次查询找到它的值并执行操作时,一条记录是生成。如何让 Access 识别一个值 - 请求类型 - 并将与该请求类型关联的每个任务生成为 TASKS 中的新记录?

4

1 回答 1

0

用户从多列组合框中选择请求类别,例如“学费报销”。组合框的隐藏列具有类别代码,这是绑定列,因此这是组合框的值。然后保存多条记录的代码如下:

CurrentDb.Execute "INSERT INTO Tasks(RequestID, TaskDesc) SELECT " & _ 
     Me.tbxReqID & " AS RID, TaskDesc FROM TasksCategories WHERE TaskCat = " & Me.cbxCategory 

真正的诀窍是弄清楚将这段代码放入什么事件中。输入某些数据元素后应该是自动的还是应该是按钮单击?那么就需要防止重复输入——如果用户不小心再次点击了那个按钮怎么办?(这可以通过表中的复合索引设置来处理。)此外,在请求表单上创建的新主记录必须首先提交到表。关闭表/查询/表单、移动到另一条记录或运行命令保存时,记录被提交。

如图所示,您的要求当然是可能的,只要记住“用户越友好,代码越多”。

现在,当您开发具有特定问题的代码时,将其发布以供分析。

于 2017-04-14T17:28:14.580 回答