0
这个SELECT CASE
的情况正在为我工作,但我认为代码可以更友好...任何建议都会非常有帮助。指导,VBA - SELECT CASE清理
Select Case True 'select case where worker name and action is true then in each case RSworkhours.addnew
Case Me.Worker1.Value <> "" And Me.fw1a1 = 1
With RsWorkHours
.AddNew
!WorkerID = Me.Worker1
!Date = Me.TxtDate
!StandardTime = Me.w1a1s
!Overtime = Me.w1a1o
!Doubletime = Me.w1a1d
!ScaffoldID = Me.cboScaffnum
.Update
End With
Me.fw1a1 = 0
GoTo WorkerHours
Case Me.Worker1.Value <> "" And Me.fw1a2 = 1
With RsWorkHours
.AddNew
!WorkerID = Me.Worker1
!Date = Me.TxtDate
!StandardTime = Me.w1a2s
!Overtime = Me.w1a2o
!Doubletime = Me.w1a2d
!ScaffoldID = Me.cboScaffnum
.Update
End With
Me.fw1a2 = 0
GoTo WorkerHours
通过这个Select Case
80倍的代码循环,如果有16名工人,每个有5个动作。
我想也许有一个循环,像修改参数中的数字:
for each x to 16
for each y to 5
If Me.worker & x & .Value <> "" And Me.fw & x & a & y Then
With Recordset
.AddNew
'insert stuff
.Update
End With
End If
Next y
Next x
有没有人有任何见解? 预先感谢您。
您确定这是您用例的最佳UI吗? – Tomalak
继@Tomalak说过的话,如果“工人1”有第六次行动会发生什么? – FreeMan
在这种情况下,是的,这只是设计视图中窗体的一半......这是每个组合框的一个'_Click'事件,它根据需要扩展窗体,并且此窗体仅适用于一组将仅限于在一天中最多有5个动作.... 这就是说,我总是在如何精简我的表格和程序的建议。 –