Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 一旦达到某个阈值,使用时间戳更新access中的记录_Ms Access - Fatal编程技术网

Ms access 一旦达到某个阈值,使用时间戳更新access中的记录

Ms access 一旦达到某个阈值,使用时间戳更新access中的记录,ms-access,Ms Access,很抱歉,我是access方面的新手,似乎无法找到以下问题的解决方案: 我有一个简单的access数据库,用于监控在任务上花费的小时数。在该活动超过7小时时,我希望更新记录以表明这一事实,可能带有一个时间戳,指示超过该时间的月份和年份 关于在任务上花费的时间的信息将在一个月的某一天手动输入,7个以上的时间可以在几个月内收集。但是,有必要能够根据数据生成报告,并提供明细表,说明有多少任务超过了7小时,以及这是在哪个月发生的 如何设置自动规则/操作以更新7小时阈值上的记录?(每个记录当前包含一个字段,

很抱歉,我是access方面的新手,似乎无法找到以下问题的解决方案:

我有一个简单的access数据库,用于监控在任务上花费的小时数。在该活动超过7小时时,我希望更新记录以表明这一事实,可能带有一个时间戳,指示超过该时间的月份和年份

关于在任务上花费的时间的信息将在一个月的某一天手动输入,7个以上的时间可以在几个月内收集。但是,有必要能够根据数据生成报告,并提供明细表,说明有多少任务超过了7小时,以及这是在哪个月发生的


如何设置自动规则/操作以更新7小时阈值上的记录?(每个记录当前包含一个字段,记录的运行总小时数)

如果您使用表单将新记录插入表中,可以通过多种方式执行此操作。如果您对VBA有一些了解,这也会有所帮助

如果您使用的是MS Access 2013,还可以使用数据宏(SQL Server触发器的MS Access等效)

假设您使用的是较低版本的Access,并且假设您使用的是表单向表中插入/更新数据,则可以执行以下操作:

1. Create a query that summarize all hours spent group by taskID (*SELECT TaskID, SUM(Task_Hours) AS TotalHours FROM Tasks GROUP BY TaskID*  let call this Query TasksTotals)
2. Modify your Tasks table to Include Date/Time you can call it TaskDate) and another field called SeventhHourReached with a Boolean or a text value to be Yes or No
3. Create another Query that filters all tasks that have already reached the 7th hours (SELECT TaskID FROM Tasks Where SevethHourdReached ="Yes" GROUP by TaskID) - Lets call this query Tasks7H
现在你需要做一些VAB

您的表格当前的事件程序或更新后的表格字段小时数 在VBA中使用以下事件过程

If DLookup("TotalHours", "TasksTotals", "TaskID = " & Me.TaskID &"") >= 7 Then
  If DLookup("TaskID", "Tasks7h", "TaskID = " Me.TaskID & "") <> Me.TaskID Then
  Me.SevethHoursReached = "Yes" ----- This is you used a text field
  End If
End if
如果DLookup(“TotalHours”、“TasksTotals”、“TaskID=“&Me.TaskID&”)大于等于7,则
如果DLookup(“TaskID”、“Tasks7h”、“TaskID=“Me.TaskID&”)Me.TaskID,则
Me.sevethhoursratch=“Yes”--这是您使用的文本字段
如果结束
如果结束
确保表单上显示了“七小时搜索”字段,但已禁用或锁定或禁用并锁定


对于您的报告,如果您在TaskDate字段的默认值中使用函数now(),您将获得到达第七个小时的日期和时间。您可以为报表查询筛选七个小时为“是”的所有记录。

我不知道您的项目类型。这可能是一场比赛。