基于可变DateAdd函数的工单批量生成技术问询
批量创建不同频率工单的Access代码优化需求
我有一个工单数据库,需要批量创建日度、周度、月度、季度等不同频率的工单。现有主表单包含[task]、[machine]、[assigned_to]、[StartDate]、[enddate]字段,还有用于确定[DueDate]的频率组合框。[WO_ID]为自动编号主键,[WO_Num]将通过Dmax函数生成。
我的思路是让用户在上述字段输入信息后,通过Insert语句、DAO或其他函数,利用频率组合框中的变量调用DateAdd函数确定[duedate]:
Frequency.column(2)存储计数数值Frequency.column(3)存储时间间隔(如“d”“w”“m”等)
循环需要在起始日期和结束日期之间创建所需数量的记录。
我编程知识有限,只能通过逆向工程修改网上代码使其勉强运行,在此寻求帮助。以下是我尝试调试的代码,但不确定如何处理起始/结束日期及循环的起止逻辑(即代码中的“i”部分):
Dim db As DAO.Database Dim rs As DAO.Recordset Dim i As Integer Set db = CurrentDb Set rs = db.OpenRecordset("Workorders") For i = 1 To 52 rs.AddNew rs![WO_ID] = [Workorders]![WO_ID] rs![WO_Num] = Dmax([Workorders]![WO_Num])+1 rs![Date_Completed] = Null rs![Assigned_To] = me.Assigned_To rs![Task] = me.Task rs![Machine] = me.Machine rs![DueDate] = DateAdd(Frequency.column(3), Frequency.column(2), me.StartDate) rs.Update Next i rs.Close Set rs = Nothing Set db = Nothing
内容的提问来源于stack exchange,提问作者Gunnar Sorenson
相关产品推荐
相关产品推荐

