以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么增加一列数据列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190511) |
-- 作者:lrh9537 -- 发布时间:2024/2/19 8:41:00 -- 怎么增加一列数据列 假如表A有一列“证件号码”(有18位数的,有20位数的),怎么通过代码在其后面增加一列“身份证号”(获取证件号码的前18位) |
-- 作者:有点蓝 -- 发布时间:2024/2/19 9:07:00 -- If e.DataCol.Name = "证件号码" Then If e.DataRow.IsNull("证件号码") orelse len(e.DataRow("证件号码")) < 18 Then e.DataRow("身份证号") = Nothing
Else e.DataRow("身份证号") = left(e.DataRow("证件号码"),18) \'http://www.foxtable.com/webhelp/topics/3264.htm End If End If |
-- 作者:lrh9537 -- 发布时间:2024/2/19 9:33:00 -- 谢谢老师 某一列的内容发生变化后可以实现,比如我想通过按钮怎么来实现呢?
|
-- 作者:有点蓝 -- 发布时间:2024/2/19 9:51:00 -- |
-- 作者:lrh9537 -- 发布时间:2024/2/19 10:21:00 -- Dim w As DataRow For Each dr As DataRow In DataTables("表A").DataRows w = DataTables("表A").Find("证件号码 = \'" & dr("证件号码") & "\'") If w IsNot Nothing Then dr("身份证号") = w("证件号码") End If Next DataTables("表A").Save 可以实现全部导过来,想提取前18位怎么修改代码(left(e.DataRow("证件号码"),18))
|
-- 作者:有点蓝 -- 发布时间:2024/2/19 10:31:00 -- For Each dr As DataRow In DataTables("表A").DataRows if dr.isnull("证件号码") =false andalso dr("证件号码").length > 18 dr("身份证号") = left(dr("证件号码"),18) end if Next DataTables("表A").Save
[此贴子已经被作者于2024/2/19 10:31:02编辑过]
|
-- 作者:lrh9537 -- 发布时间:2024/2/19 10:36:00 -- dr("证件号码").length >= 18 可以了,谢谢老师
|