北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
各位老师:
我做了一个加班单,里面有一个加班人员,是用平台多选函数说的,选择后的格式为:袁敏, 郎远淑, 黄紫燕, 蒲海燕, 李从贵, 汪玉凤, 易书平, 梁金涛, 王道秀
现在我找到了一个案例,但是分割后的结果是:袁敏, 郎远淑, 黄紫燕, 蒲海燕, 李从贵, 汪玉凤, 易书平, 梁金涛,
少了一个王道秀,经查原因是因为这个案例是按照“,”来进行识别的,所以最后一个名字后面是没有“,”的,所以无法分割出来,那是否有2种可能的识别方法的代码。
代码如下:
Private Sub 汇总处理_Click()
On Error Resume Next
Dim A() As String
Dim i As Integer
Dim rst As ADODB.Recordset
Dim rstTmp As ADODB.Recordset
CurrentDb().Execute "delete * from tbl_加班人员分组"
Set rst = New ADODB.Recordset
Set rstTmp = New ADODB.Recordset
rst.Open "tbl_员工加班", CurrentProject.Connection, 2, 3
rstTmp.Open "tbl_加班人员分组", CurrentProject.Connection, 2, 3
Do Until rst.EOF
A = Split(rst![加班人员], ",")
For i = LBound(A) To UBound(A) - 1
rstTmp.AddNew
rstTmp![加班时间起] = rst![加班时间起]
rstTmp![加班时间止] = rst![加班时间止]
rstTmp![加班人员] = A(i)
rstTmp![加班时长] = rst![加班时长]
rstTmp![申请人] = rst![申请人]
rstTmp![加班事由] = rst![加班事由]
rstTmp![部门] = rst![部门]
Next i
rst.MoveNext
Loop
rstTmp.Update
rst.Close
rstTmp.Close
Set rst = Nothing
Set rstTmp = Nothing
MsgBox "数据处理成功!"
DoCmd.ShowAllRecords
End Sub