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


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

主题:[求助]DataColChanged 问题

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


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
[求助]DataColChanged 问题  发帖心情 Post By:2016/4/20 17:16:00 [只看该作者]

老师好,      我在表的DataColChanged 里设置了代码,但是当通过自定义项目...打开窗口然后选择内容写入列后,列内容改变之后代码有时候实现不了? 我测试重置列的话又可以实现代码。请问是代码问题还是?   代码如下:

If e.DataCol.Name = "库位"  Then
    Dim dr4 As  DataRow
    Dim filter4 As String
    Dim filter2 As String
    Dim filter As String = "1=1"
    If e.DataRow.isnull("品名") = False Then
        filter &= " and 品名 = '" & e.DataRow("品名") & "'"
    End If
    If e.DataRow.isnull("批号") = False Then
        filter &= " and 批号 = '" & e.DataRow("批号") & "'"
    End If
    
    filter4 = filter & " and [库位] = '" & e.DataRow("库位") & "' and [货权] = '" & e.DataRow("货权") & "'"
    
    filter2 = filter & " and [库位] = '" & e.DataRow("库位") & "' and [货权] = '" & e.DataRow("货权") & "' and [日期]='" & Date.today & "'"
    
    
    
    
    
    
    
    dr4 = DataTables("总库存表").SQLFind(Filter4 ) 
    
    Dim Sum1 As Single=DataTables("总库存表").SQLCompute("Sum(昨日结存)", filter4)
    Dim Sum2 As Single=DataTables("出库明细表").Compute("Sum(出库重量)", filter2)
    If dr4 IsNot Nothing Then
        dr4("今日出库")=sum2
        dr4.Save
    End If

    If dr4 IsNot Nothing And Sum1 <e.DataRow("出库重量")  Then 
        
        Dim drs As List(Of DataRow) = DataTables("入库明细表").Select(Filter2 )
        
        If drs.Count > 0 Then 
            Dim Sum3 As Single= e.DataRow("出库重量")-sum1
            Dim str As String = ""
            For Each dr As DataRow In drs
                str = str & dr("入库车号") & "|" & sum3  & "+" & dr4("库位") & "|" & sum1 & "-"
            Next
            e.DataRow("出库详情")  = str.TrimEnd("-")
        End If
        
    ElseIf dr4 IsNot Nothing  And Sum1 >=e.DataRow("出库重量")  Then '如果找到
        
        e.DataRow("出库详情") =e.DataRow("出库重量")
        
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/20 17:19:00 [只看该作者]

 加入msgbox,弹出是否进入执行了代码。

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


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/21 16:20:00 [只看该作者]

袍大大。我试了下,如果已经有库位了,然后修改库位可以显示出 msgbox,但是如果是空的然后我写入库位的话就没msgbox

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 16:31:00 [只看该作者]

 sqlFind、sqlCompute 的值,是查询保存的数据。

 

 没有弹出,就是没有查询到对应的数据,满足不了 IF 判断,所以不进入执行代码。


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


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/21 16:45:00 [只看该作者]

好的,谢谢袍大大,我再研究下   SQLFIND 内容,明明有的为什么查不到。。看看是不是代码错了。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 16:48:00 [只看该作者]

1、弹出你的Filter看一看,去你的后台数据库那里,看看有没有对应的数据。

 

2、加入msgbox,看看执行到哪里就不执行了,然后看那句代码有什么问题。


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


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/21 17:09:00 [只看该作者]

谢谢老师。msgbox 内容写什么可以判断代码停止呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 17:10:00 [只看该作者]

加入多个msgbox,看执行到哪里就知道啦,不断缩小范围

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


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/21 17:17:00 [只看该作者]

原来这样…………好的,谢谢袍大大!图片点击可在新窗口打开查看

 回到顶部