我为维护部门设计了一个MS Access应用程序来控制访问计划。
我有两张主表:
目前我们正在第一个表中添加新项目的数据,然后我们将使用日期手动更新第二个表。例如如果我有一个项目从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)吗?
答案 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事件。可能需要额外的代码来确保不会多次输入记录。
当您开发代码并遇到特定问题时,请发帖提问。