以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]字符串求助(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40426) |
||||
-- 作者:cqlwsam -- 发布时间:2013/9/18 18:47:00 -- [求助]字符串求助(已解决) 如项目所示,如果表中字段patientsID 为空,则提示请录入姓名及出生日期,在录入姓名及出生日期后生成PatientsID(由姓名及出生日期组成,如张山20120303);如果字段PatientsID不为空,则根据上述规则自动填充姓名及出生日期。前面部分没什么问题,后面的内容总是不对。看看我的代码出了什么问题。谢谢!
[此贴子已经被作者于2013-9-19 23:32:09编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/9/18 19:31:00 -- 改成下面的代码 Dim dr As DataRow=e.DataRow If e.DataCol.Name = "姓名" OrElse e.DataCol.Name = "出生日期" Then If dr.IsNull("姓名") OrElse dr.IsNull("出生日期") Then dr("patientsID") = Nothing Else Dim s1 As Date=dr("出生日期") dr("patientsID")=dr("姓名") & format(s1,"yyyyMMdd") End If Else If e.DataCol.Name="patientsID" Then If e.NewValue.Length > 6 Then Dim s As String = e.NewValue Dim s1 As Integer =s.Length Dim s2 As String = s.SubString(0, s1-8) Dim s3 As String = s.SubString(s1-8) dr("姓名") = s2 dr("出生日期") = new Date(s3.SubString(0,4), s3.SubString(4,2), s.SubString(6,2)) End If End If |
||||
-- 作者:cqlwsam -- 发布时间:2013/9/18 21:05:00 -- 谢谢! |
||||
-- 作者:cqlwsam -- 发布时间:2013/9/19 21:31:00 -- 上述代码遇到了问题。1. 在PatientsID输入值后出现如截图所示的问题;2. 出生日期中的不能改变。帮我看看。谢谢! 此主题相关图片如下:360软件小助手截图20130919213158.jpg [此贴子已经被作者于2013-9-19 21:32:39编辑过]
|
||||
-- 作者:e-png -- 发布时间:2013/9/19 22:47:00 -- 第一段代码是你自己的···· 第二段改为: If e.DataCol.Name="patientsID" Then If dr("patientsID")>"" Then Dim s As String = dr("patientsID") Dim s1 As Integer =s.Length Dim s2 As String = left(s,s1-8) Dim s3 As Date = CDate(left(right(s,8),4) & "-" & _ left(right(s,4),2) & "-" & right(s,2)) dr("姓名")=s2 dr("出生日期")=s3 End If End If [此贴子已经被作者于2013-9-19 22:48:05编辑过]
|
||||
-- 作者:cqlwsam -- 发布时间:2013/9/19 23:30:00 --
[此贴子已经被作者于2013-9-19 23:30:34编辑过]
|