Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于“按符号分割数据”案例的补充问题

王萌萌  发表于:2019-12-13 09:12:58  
复制

各位老师:

我做了一个加班单,里面有一个加班人员,是用平台多选函数说的,选择后的格式为:袁敏, 郎远淑, 黄紫燕, 蒲海燕, 李从贵, 汪玉凤, 易书平, 梁金涛, 王道秀

现在我找到了一个案例,但是分割后的结果是:袁敏, 郎远淑, 黄紫燕, 蒲海燕, 李从贵, 汪玉凤, 易书平, 梁金涛,

少了一个王道秀,经查原因是因为这个案例是按照“,”来进行识别的,所以最后一个名字后面是没有“,”的,所以无法分割出来,那是否有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

 

Top
仙来 发表于:2019-12-14 09:59:09

http://www.accessoft.com/article-show.asp?id=5083

利用示例做了一个示例,供参考。点击下载此附件



总记录:1篇  页次:1/1 9 1 :