Foxtable(狐表)用户栏目专家坐堂 → 代码执行不太正确,请高手指点


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

主题:代码执行不太正确,请高手指点

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
代码执行不太正确,请高手指点  发帖心情 Post By:2011/8/5 9:32:00 [只看该作者]

If e.DataCol.Name = "住院号" Then
    Dim dr As DataRow 
    Dim vals() As String =e.NewValue.split(":")
    If vals.length > 2 Then
        e.DataRow("住院号") =vals(2)
    Else
        e.DataRow("住院号") =vals(0)
    End If
End If
If e.DataCol.Name = "住院号" Then
    Dim r As DataRow
    r = DataTables("入院登记").Find("[住院号] = '" & e.NewValue & "'")
    If r IsNot Nothing Then
        e.DataRow("患者姓名") = r("患者姓名")
    Else
        MsgBox("项目不存在,请重新输入!",64,"提示")
        e.DataRow("患者姓名") = Nothing
    End If
End If

 

可能是分为两步的原因,但如何合并到一起呢?

[此贴子已经被作者于2011-8-5 9:33:23编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/5 9:44:00 [只看该作者]

If e.DataCol.Name = "住院号" Then
    Dim vals() As String = e.NewValue.split(":")
    If vals.length > 2 Then
        e.DataRow("住院号") =vals(2)
    Else
        e.DataRow("住院号") =vals(0)
    End If
    Dim dr As DataRow = DataTables("入院登记").Find("[住院号] = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        e.DataRow("患者姓名") = dr("患者姓名")
    Else
        MsgBox("项目不存在,请重新输入!",64,"提示")
        e.DataRow("患者姓名") = Nothing
    End If
End If

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/5 11:15:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-5 9:44:00的发言:
If e.DataCol.Name = "住院号" Then
    Dim vals() As String = e.NewValue.split(":")
    If vals.length > 2 Then
        e.DataRow("住院号") =vals(2)
    Else
        e.DataRow("住院号") =vals(0)
    End If
    Dim dr As DataRow = DataTables("入院登记").Find("[住院号] = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        e.DataRow("患者姓名") = dr("患者姓名")
    Else
        MsgBox("项目不存在,请重新输入!",64,"提示")
        e.DataRow("患者姓名") = Nothing
    End If
End If
老总的代码不能正确返回“姓名”,我乱改了一下,换可以If e.DataCol.Name = "住院号" Then
    Dim vals() As String = e.NewValue.split(":")
    If vals.length > 2 Then
        e.DataRow("住院号") =vals(2)
    Else
        e.DataRow("住院号") =vals(0)
    End If
    Dim dr As DataRow = DataTables("入院登记").Find("[住院号] = '" &  e.DataRow("住院号") & "'")
    If dr IsNot Nothing Then
        e.DataRow("患者姓名") = dr("患者姓名")
    Else
        MsgBox("项目不存在,请重新输入!",64,"提示")
        e.DataRow("患者姓名") = Nothing
    End If
End If
不知符合语法不?
还是有问题,当拼音码为空时,不能自动清除姓名。
 

[此贴子已经被作者于2011-8-5 11:23:55编辑过]

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/5 11:28:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-5 9:44:00的发言:
If e.DataCol.Name = "住院号" Then
    Dim vals() As String = e.NewValue.split(":")
    If vals.length > 2 Then
        e.DataRow("住院号") =vals(2)
    Else
        e.DataRow("住院号") =vals(0)
    End If
    Dim dr As DataRow = DataTables("入院登记").Find("[住院号] = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        e.DataRow("患者姓名") = dr("患者姓名")
我的录入步骤:1、从列表项目分离出住院号,2、根据住院号找出匹配的姓名。如果没有匹配的姓名,则如下:
  MsgBox("项目不存在,请重新输入!",64,"提示")
        e.DataRow("患者姓名") = Nothing


 回到顶部