Foxtable(狐表)用户栏目专家坐堂 → 代码不能返回正确的值,如何改写?


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

主题:代码不能返回正确的值,如何改写?

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
代码不能返回正确的值,如何改写?  发帖心情 Post By:2011/8/4 19:12:00 [只看该作者]

 

 

If e.DataCol.Name = "拼音码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("项目类别")= Nothing
        e.DataRow("项目名称") = Nothing
    Else
        Dim lb As DataRow
        lb = DataTables("收费项目").Find("[拼音码] = '" & e.NewValue & "'")
        If lb IsNot Nothing Then
            e.DataRow("项目类别") = lb("项目类别")
            e.DataRow("项目名称") = lb("项目名称")
        End If      
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

上面的代码只有"拼音码" 为Nothing时"项目类别"、"项目名称"为Nothing。

另一种情况如果 不匹配,则"项目类别"、"项目名称"依然是原来的值不变。
要求:如果"拼音码"匹配,从“收费项目”找出"项目类别"、"项目名称"并填入,否则"项目类别"、"项目名称"为空。

 

下面是我写的代码,有错误,具体不知如何写,反正是不需进行空值判断,只要本表和“收费项目”表之间拼音码不匹配和“收费项目”表之间拼音码不匹配"为空值。

If e.DataCol.Name = "拼音码" Then
    Dim dr As NewValue=e.DataCol.[拼音码]
    Dim lb As DataRow
    lb = DataTables("收费项目").Find("[拼音码] = '" & NewValue & "'")
    If dr= lb
        e.DataRow("项目类别") = lb("项目类别")
        e.DataRow("项目名称") = lb("项目名称")
    End If
End If

 

 

 

问题基本解决,请高手斧正:

If e.DataCol.Name = "拼音码" Then
    Dim lb As DataRow
    lb = DataTables("收费项目").Find("[拼音码] = '" & e.NewValue & "'")
    If lb IsNot Nothing Then
        e.DataRow("项目类别") = lb("项目类别")
        e.DataRow("项目名称") = lb("项目名称")
    Else
        e.DataRow("项目类别") = Nothing
        e.DataRow("项目名称") = Nothing
    End If
End If

 

"拼音码"和“收费项目”表的拼音码匹配,"项目类别"、"项目名称"填入,否则Nothing

[此贴子已经被作者于2011-8-4 21:50:15编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/8/4 21:47:00 [只看该作者]

If e.DataCol.Name = "拼音码" Then
    Dim lb As DataRow
    lb = DataTables("收费项目").Find("[拼音码] = '" & e.NewValue & "'")
    If lb IsNot Nothing Then
        e.DataRow("项目类别") = lb("项目类别")
        e.DataRow("项目名称") = lb("项目名称")
    Else
        e.DataRow("项目类别") = Nothing
        e.DataRow("项目名称") = Nothing
    End If
End If

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


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

谢谢我也刚想出来,通过比较,看来是正确的。

 回到顶部