Foxtable(狐表)用户栏目专家坐堂 → 请教引用问题


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

主题:请教引用问题

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/21 15:24:00 [只看该作者]

以下是引用秦胜雄在2012-11-21 15:19:00的发言:
已将代码放在第一行,还是不行,谢谢各位专家,还是用手打勾了,衷心感谢!!!

估计是其他代码影响的,贴出你DataColChanged里的所有代码。

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


加好友 发短信
等级:幼狐 帖子:118 积分:745 威望:0 精华:0 注册:2012/9/18 16:23:00
  发帖心情 Post By:2012/11/21 15:34:00 [只看该作者]

Select Case e.DataCol.Name
   Case "交货日期"
      e.DataRow("审核")  = Not e.DataRow.IsNull("交货日期")
End Select
If e.DataCol.Name = "规格" OrElse e.DataCol.Name = "单价" Then
    Dim dr As DataRow
    dr = DataTables("仓库").Find("[规格] = '" & e.DataRow("规格") & "'")
    If dr IsNot Nothing Then
        e.DataRow("存量") = dr("存量")
    Else
        e.DataRow("存量") = Nothing
    End If
End If

If e.DataCol.Name = "配" AndAlso e.DataRow("配") = True Then
    Dim nma() As String = {"管制号","规格","加工","交货日期","客户"}
    Dim nmb() As String = {"管制号","规格","加工","交货日期","客户"}
    Dim dr As DataRow = DataTables("车床").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

If e.DataCol.Name = "小件" AndAlso e.DataRow("小件") = True Then
    Dim nma() As String = {"管制号","规格","加工","交货日期","客户"}
    Dim nmb() As String = {"管制号","规格","加工","交货日期","客户"}
    Dim dr As DataRow = DataTables("小件").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

Select Case e.DataCol.Name
    Case "规格"
        If e.DataRow.IsNull("规格") = False Then
            If e.DataRow.GetChildRows("规格").Count = 0 Then
                Dim dr As DataRow = DataTables("仓库").AddNew()
                dr("规格") = e.DataRow("规格")
            End If
        End If
End Select

If e.DataCol.name = "审核" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("订单")
    If pr IsNot Nothing Then
        Dim crs As List(of DataRow) = pr.GetChildRows("订单明细")
        Dim cnt As Integer
        For Each cr As DataRow In crs
            If cr("审核") = True
                cnt = cnt + 1
            End If
        Next
        pr("审核") = (crs.Count = cnt)
    End If
End If

因是新手,如其它代码有不合理的请帮忙一起修改,谢谢!!!

 


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


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

你要输入交货日期,审核列才会勾选。

对于现有数据,你要重置一次交货期列才行:

http://www.foxtable.com/help/topics/1469.htm

 

http://www.foxtable.com/help/topics/1587.htm

 

如果还不行,也许你的列名错了,修改代码,判断列名是什么:

 

Select Case e.DataCol.Name
    Case "交货日期"
         e.DataRow("审核") = Not e.DataRow.IsNull("交货日期")

         MessageBox.show("我执行了")

    Case Else

         MessageBox.show("我没有执行,因为列名是:" & e.DataCol.Name)
End Select


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/21 15:54:00 [只看该作者]

代码这样写好一些。但是,不是这里代码的原因。你输出所有的代码,在 杂项->输出代码,然后上传上来。

Select Case e.DataCol.Name
    Case "规格", "单价"
        Dim dr As DataRow
        dr = DataTables("仓库").Find("[规格] = '" & e.DataRow("规格") & "'")
        If dr IsNot Nothing Then
            e.DataRow("存量") = dr("存量")
        Else
            e.DataRow("存量") = Nothing
        End If    
End Select

Select Case e.DataCol.Name
    Case "交货日期"
        e.DataRow("审核")  = Not e.DataRow.IsNull("交货日期")
    Case "规格"
        If e.DataRow.IsNull("规格") = False Then
            If e.DataRow.GetChildRows("规格").Count = 0 Then
                Dim dr As DataRow = DataTables("仓库").AddNew()
                dr("规格") = e.DataRow("规格")
            End If
        End If 
    Case "配"
        If  e.DataRow("配") = True  Then
            Dim nma() As String = {"管制号","规格","加工","交货日期","客户"}
            Dim nmb() As String = {"管制号","规格","加工","交货日期","客户"}
            Dim dr As DataRow = DataTables("车床").AddNew
            For i As Integer = 0 To nma.Length - 1
                dr(nmb(i)) = e.DataRow(nma(i))
            Next
        End If
    Case "小件"
        If  e.DataRow("小件") = True Then
            Dim nma() As String = {"管制号","规格","加工","交货日期","客户"}
            Dim nmb() As String = {"管制号","规格","加工","交货日期","客户"}
            Dim dr As DataRow = DataTables("小件").AddNew
            For i As Integer = 0 To nma.Length - 1
                dr(nmb(i)) = e.DataRow(nma(i))
            Next
        End If
    Case "审核"
        Dim pr As DataRow = e.DataRow.GetParentRow("订单")
        If pr IsNot Nothing Then
            Dim crs As List(of DataRow) = pr.GetChildRows("订单明细")
            Dim cnt As Integer
            For Each cr As DataRow In crs
                If cr("审核") = True
                    cnt = cnt + 1
                End If
            Next
            pr("审核") = (crs.Count = cnt)
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:118 积分:745 威望:0 精华:0 注册:2012/9/18 16:23:00
  发帖心情 Post By:2012/11/21 17:04:00 [只看该作者]

谢谢!!!

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


加好友 发短信
等级:幼狐 帖子:118 积分:745 威望:0 精华:0 注册:2012/9/18 16:23:00
  发帖心情 Post By:2012/11/21 17:08:00 [只看该作者]

传不上去,错误:文件类型不正确我,要改成其它格式吗?

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


加好友 发短信
等级:幼狐 帖子:118 积分:745 威望:0 精华:0 注册:2012/9/18 16:23:00
  发帖心情 Post By:2012/11/21 17:14:00 [只看该作者]

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


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/21 17:41:00 [只看该作者]

 经检查,没有相关影响的代码,看13楼狐爸的回帖。

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


加好友 发短信
等级:幼狐 帖子:118 积分:745 威望:0 精华:0 注册:2012/9/18 16:23:00
  发帖心情 Post By:2012/11/21 17:42:00 [只看该作者]

抱歉!经过仔细检查真的是列名写错一个字,现问题已解决,万分感谢!!!

现正在做采购这个模块,下面这段代码怎么研究都转不过弯来,因入库有两类,一类是采字开头编号到财务付款,其它开头编号到财务收款,都是靠审核来锁定行,现采购没问题,订单入库就报错,请指教。

If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then
    Dim nma() As String = {"管制号","规格","数量","客户"}
    Dim nmb() As String = {"管制号","规格","数量","客户"}
    Dim dr As DataRow = DataTables("出库").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
Select Case e.DataCol.name
    Case "审核"
        Dim dr As DataRow = DataTables("采购").Find("[规格] = '" & e.DataRow("规格") & "' And 管制号 = '" & e.DataRow("管制号") & "'")
        dr("审核") = e.DataRow("审核")
End Select


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/21 17:54:00 [只看该作者]

 你报错的截图发上来……

 回到顶部
总数 28 上一页 1 2 3 下一页