根据其他表的开始和结束日期更新具有间隔访问的表

时间:2017-05-11 05:44:29

标签: ms-access

我为维护部门设计了一个MS Access应用程序来控制访问计划。

我有两张主表:

  1. 项目数据(项目名称,访问次数,合同开始日期,结束日期,金额等)
  2. PPM(访问次数,访问日程和访问类型)
  3. 目前我们正在第一个表中添加新项目的数据,然后我们将使用日期手动更新第二个表。例如如果我有一个项目从01/01/2017开始,它将于2017年12月31日结束,我们必须进行4次访问(季度)。所以我们将第二个表更新如下:

    Visit no 1 02/01/2017 Quarterly Visit
    Visit no 2 04/01/2017 Quarterly Visit
    Visit no 3 07/01/2017 Quarterly Visit
    Visit no 2 10/01/2017 Quarterly Visit
    

    这样可以获得日程安排报告。

    问题是:我可以根据开始日期和结束日期以及每份合同的访问次数自动填写第二个表格(PPM)吗?

1 个答案:

答案 0 :(得分:0)

是的,需要VBA代码。像这样:

Sub CreatePPM(dteStart As Date, dteEnd As Date, strType As String)
Dim x As Integer, dteVisit As Date
dteVisit = dteStart
Select Case strType
    Case "Quarterly"
        'code here
    Case "Daily"
        While dteVisit <= dteEnd
            CurrentDb.Execute "INSERT INTO PPM(VisitNo, VisitDate, VisitType) Values(" & x & ", #" & dteVisit & "#, 'Daily')"
            dteVisit = dteVisit + 1
        Wend
End Select
End Sub

根据需要修改代码以处理不同的访问类型。我不得不说季度类型的编码确实具有挑战性。

然后找出将代码放入的事件。也许是项目数据输入表单的按钮单击或AfterUpdate事件。可能需要额外的代码来确保不会多次输入记录。

当您开发代码并遇到特定问题时,请发帖提问。