各位老师好,做一个差旅费管理项目,需要防止录入出差人员时与以往录入的记录重复,例如李光明和同事3月15日至22日在甲地出差,差旅费已在系统录入并报销,本次又录入他和另外几个同事3月17日至26日在乙地出差,事实上李光明不可能在交叉的时间段内到甲乙两个地方出差。我想在录入窗口录入时就自动筛选出来,然后弹出一个提示框,可是下面的代码不行,只能筛选重复出差人员,但不能对出发时间和返回时间进行筛选,请老师指点。
For Each s As String In e.form.controls("出差人姓名").text.split(",")
With CurrentTable
Dim r As Integer
r = .FindRow("[出差人姓名] like '%," & s & ",%'")
If r >= 0 Then '如果找到的话
Dim dr As Integer
dr = .FindRow("[返回日期] >#" & Forms("差旅费录入").Controls("出发日期").value & "# and [出发日期] <#" & Forms("差旅费录入").controls("返回日期").value & "# ")
If dr > 0 Then
.Position = r '定位到找到的行.
MessageBox.Show("有出差人员与以前记录重复","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
End If
End If
End With
Next
此主题相关图片如下:360截图20230522124055091.jpg
此主题相关图片如下:360截图20230522124225684.jpg
[此贴子已经被作者于2023/5/28 11:03:58编辑过]