以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]表格中赋值问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127096) |
-- 作者:cqlwsam -- 发布时间:2018/11/5 14:55:00 -- [求助]表格中赋值问题 如表: 如表:根据ICD9M编码的值赋值到手术亚类中。如果是**.*就直接赋值,如果超过4位,通过substring(0,4),如果和前面的值相同,其手术亚类相同。如表中00.0是“治疗性超声”,00.01截短后,其值和00.0相同,那么手术亚类也应该是“治疗性超声”。如何实现?有点懵!
|
-- 作者:有点甜 -- 发布时间:2018/11/5 17:18:00 -- 1、不可以在每一行都存储【手术亚类】的字符?这样,你直接查找到某一行,不就知道了?
2、如果要截取查找,参考代码
Dim str As String = "00.01" Dim fdr As DataRow = DataTables("表A").Find("编码 = \'" & str.substring(0,4) & "\'")
3、具体你要实现什么,做个实例发上来测试 |
-- 作者:cqlwsam -- 发布时间:2018/11/5 17:29:00 -- 如上图。列(ICD9M编号)中前四位相同,列(手术亚类)中的内容相同,内容来自只有四位的行中列(手术名称)的内容。 |
-- 作者:cqlwsam -- 发布时间:2018/11/5 17:49:00 -- 见附件: |
-- 作者:有点甜 -- 发布时间:2018/11/5 18:52:00 -- 你给的例子,要实现什么效果?请具体说明。 |
-- 作者:cqlwsam -- 发布时间:2018/11/5 19:41:00 -- 列(ICD9M编号)中前四位相同,列(手术亚类)中的内容相同,内容来自只有四位的行中列(手术名称)的内容。 |
-- 作者:有点蓝 -- 发布时间:2018/11/5 19:57:00 -- DataTables("手术编码库").StopRedraw DataTables("手术编码库").SQLReplaceFor("手术亚类","[手术名称]","len(ICD9M编码) = 4",True) DataTables("手术编码库").Load For Each dr As DataRow In DataTables("手术编码库").Select("len(ICD9M编码) = 4") DataTables("手术编码库").ReplaceFor("手术亚类",dr("手术亚类"),"ICD9M编码 like \'" & dr("ICD9M编码") & "%\'") Next DataTables("手术编码库").ResumeRedraw
|
-- 作者:cqlwsam -- 发布时间:2018/11/5 20:01:00 -- 代码写在哪儿呀? |
-- 作者:有点蓝 -- 发布时间:2018/11/5 20:05:00 -- 命令窗口、窗口按钮、菜单按钮.......... |
-- 作者:cqlwsam -- 发布时间:2018/11/6 7:21:00 -- If txt.Length=4 Then e.DataRow("手术亚类") = e.DataRow("手术名称") ElseIf txt.Length>4 Then Dim txt2 As String = txt.SubString(0,4) Dim dr As DataRow dr = e.DataTable.Find("ICD9M编码=\'" & txt2 & "\'") If dr IsNot Nothing Then e.DataRow("手术亚类")= dr("手术亚类") End If End If 搞定。
|