以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮忙分析一下,问题出在哪?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69275)

--  作者:q158242455
--  发布时间:2015/6/2 15:16:00
--  帮忙分析一下,问题出在哪?
在表"维修“中的datacolchanged 里


Select Case e.DataCol.name
    Case "结束时间"
        Dim dr As DataRow = DataTables("库").Find("售后 = \'" & e.OldValue & "\'")
        If e.DataRow.Isnull("结束时间")=False Then
            
            dr("售后") = "A"
        End If
End Select
  

运行的时候说:调用目标发生异常!


帮忙!!!解决下!!

--  作者:Bin
--  发布时间:2015/6/2 15:17:00
--  
Select Case e.DataCol.name
    Case "结束时间"
        Dim dr As DataRow = DataTables("库").Find("售后 = \'" & e.OldValue & "\'")
        If e.DataRow.Isnull("结束时间")=False Then
            if dr isnot nothing then   \'要判断一下是否找到DR  万一没找到行当然就报错了.
            dr("售后") = "A"
           end if
        End If
End Select

--  作者:q158242455
--  发布时间:2015/6/2 15:26:00
--  
dr("售后")=“A”       为什么 运行了再表"库" 的售后内没有A啊!
--  作者:q158242455
--  发布时间:2015/6/2 15:42:00
--  再帮个忙!
之前我加了你说的那个判断,运行是没有报警了!但是我运行了,表“库”中的“售后”内  为什么 没有显示A啊!!!!拜托!
--  作者:Bin
--  发布时间:2015/6/2 15:43:00
--  
DataTables("库").Find("售后 = \'" & e.OldValue & "\'")
因为没有找到对应的行.
E.OldValue   是修改前的值哦.

--  作者:q158242455
--  发布时间:2015/6/2 15:44:00
--  那我只要怎么改呢?
我得怎么改?
--  作者:Bin
--  发布时间:2015/6/2 15:45:00
--  
不知道你想做什么,我也不知道怎么改


如果是要修改后的新值

就把OldValue 改为 NewValue

如果输入的值本身就没匹配的行,那么自然就没更新.

--  作者:Bin
--  发布时间:2015/6/2 15:46:00
--  
而且.你    Case "结束时间" 判断了列名  那么这里的e.NewValue 就相当于 e.datarow("结束时间")   你确定你是要取这列的值吗?
--  作者:q158242455
--  发布时间:2015/6/2 16:09:00
--  我讲详细点!
比如:我有表"库"和表”维修“2个表!表”库“里有”编号“ " 售后 "还有其他列...
        表"维修”中有“编号”  “结束时间”  还有其他列....
背景是:表“库”中的“编号”和维修中“编号”是关联的。


要求:如果表“售后”“结束时间”里有 数据  的话, 表“库”“售后“中显示字母A
  

请赐教!!

是不是要找”编号“里的值!进行操作?
[此贴子已经被作者于2015/6/2 16:11:18编辑过]

--  作者:Bin
--  发布时间:2015/6/2 16:12:00
--  
Select Case e.DataCol.name
    Case "结束时间"
        
        If e.DataRow.Isnull("结束时间")=False  Then
             Dim dr As DataRow = DataTables("库").Find("编号 = \'" & e.datarow("编号") & "\'")
            if dr isnot nothing then   \'要判断一下是否找到DR  万一没找到行当然就报错了.
            dr("售后") = "A"
           end if
        End If
End Select