Foxtable(狐表)用户栏目专家坐堂 → [求助]表格中赋值问题


  共有1987人关注过本帖树形打印复制链接

主题:[求助]表格中赋值问题

帅哥哟,离线,有人找我吗?
cqlwsam
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
[求助]表格中赋值问题  发帖心情 Post By:2018/11/5 14:55:00 [只看该作者]

如表:


图片点击可在新窗口打开查看此主题相关图片如下:360截图1894050477113132.png
图片点击可在新窗口打开查看

如表:根据ICD9M编码的值赋值到手术亚类中。如果是**.*就直接赋值,如果超过4位,通过substring(0,4),如果和前面的值相同,其手术亚类相同。如表中00.0是“治疗性超声”,00.01截短后,其值和00.0相同,那么手术亚类也应该是“治疗性超声”。如何实现?有点懵!


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2018/11/5 17:29:00 [只看该作者]

如上图。列(ICD9M编号)中前四位相同,列(手术亚类)中的内容相同,内容来自只有四位的行中列(手术名称)的内容。

 回到顶部
帅哥哟,离线,有人找我吗?
cqlwsam
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2018/11/5 17:49:00 [只看该作者]

见附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:li.foxdb



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/5 18:52:00 [只看该作者]

你给的例子,要实现什么效果?请具体说明。

 回到顶部
帅哥哟,离线,有人找我吗?
cqlwsam
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2018/11/5 19:41:00 [只看该作者]

列(ICD9M编号)中前四位相同,列(手术亚类)中的内容相同,内容来自只有四位的行中列(手术名称)的内容。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2018/11/5 20:01:00 [只看该作者]

代码写在哪儿呀?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/5 20:05:00 [只看该作者]

命令窗口、窗口按钮、菜单按钮..........

 回到顶部
帅哥哟,离线,有人找我吗?
cqlwsam
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By: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


搞定。

 回到顶部