以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]内部函数问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78813) |
-- 作者:cqlwsam -- 发布时间:2015/12/17 16:10:00 -- [求助]内部函数问题 因为项目多次使用患者ID号(姓名+出生日期)和访问日期间的比较,我想做一个内部函数,每次调用即可。但过不了。提示:datarow 不是 datatable的成员。代码如下: Dim dt As DataTable=DataTables(args(0)) Dim dr As DataRow= dt.DataRow If dt.DataCol.Name="访问日期" Then If dr("patientsID")>"" Then Dim s As String = dr("patientsID") Dim s1 As Date = CDate(left(right(s,8),4) & "-" & _ left(right(s,4),2) & "-" & right(s,2)) Dim s2 As Date=dr("访问日期") If s2 IsNot Nothing Then If s1>s2 Then MessageBox.Show("访问日期不可能早于出生日期,请仔细核对访问日期","提示" ) End If End If End If End If |
-- 作者:Hyphen -- 发布时间:2015/12/17 16:48:00 -- Dim dr As DataRow= dt.DataRows(0)\'具体要指定某行,这里是第一行
|
-- 作者:Hyphen -- 发布时间:2015/12/17 16:50:00 -- 还不如直接传入一个datarow |
-- 作者:cqlwsam -- 发布时间:2015/12/17 16:55:00 -- 实际上就是想把某一个表中的datacolchanged的代码变成通用代码,改了半天搞不定。代码: Dim dr As DataRow= e.DataRow If e.DataCol.Name="访问日期" Then If dr("patientsID")>"" Then Dim s As String = dr("patientsID") Dim s1 As Date = CDate(left(right(s,8),4) & "-" & _ left(right(s,4),2) & "-" & right(s,2)) Dim s2 As Date=dr("访问日期") If s2 IsNot Nothing Then If s1>s2 Then MessageBox.Show("访问日期不可能早于出生日期,请仔细核对访问日期","提示" ) End If End If End If End If |
-- 作者:cqlwsam -- 发布时间:2015/12/17 16:56:00 -- 因为在每个表中字段都是一样的,都是patientsID 和访问日期,不同的就是每个表不同。所以我想传表名。 |
-- 作者:Hyphen -- 发布时间:2015/12/17 16:59:00 --
If dr("patientsID")>"" Then
调用 |