Foxtable(狐表)用户栏目专家坐堂 → 关联表内容填充代码请求帮忙


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

主题:关联表内容填充代码请求帮忙

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/12/28 12:22:00 [只看该作者]

感谢红袍老师,试用正是我需要的


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/12/29 18:27:00 [只看该作者]

红袍老师晚上好,以上代码在运行过程中出现了一个问题:

当增加一行后,进行了其它的表编辑后,再回来对增加的行进行删除,就发现删除后,“物料明细”表里面对应的行没有被删除了


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


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

不应该有问题的。加上红色代码

 

Select Case e.DataCol.name
    Case  "物料名称","规格型号","物料编号", "入库数量"
        Dim dr As DataRow = DataTables("物料明细").Find("编号 = '入库" & e.DataRow("_Identify") & "'")
        If dr Is Nothing Then
            dr = DataTables("物料明细").addnew
            e.DataRow.save
            dr("编号") = "入库" & e.DataRow("_Identify")
        End If
       
        dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
       
    End  Select


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/12/29 19:43:00 [只看该作者]

还是不行,是不是不可以用计时器设定项目每几分钟保存一次啊

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


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

上传例子说明问题,不会有问题。

 


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/12/29 19:47:00 [只看该作者]

我的“入库明细”表代码:

Select Case e.DataCol.Name
    Case "物料编号","入库数量"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [物料编号] = '" & mr("物料编号") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
            mr("库存数量") = mr("入库数量")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [物料编号] = '" & dr("物料编号") & "'")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("库存数量") = drs(i-1)("库存数量") + drs(i)("入库数量")
        Next
End Select


    DataTables("物料中心").DataCols("物料编号").RaiseDataColChanged("物料编号 = '" &e.DataRow("物料编号") & "'")


If e.DataCol.Name = "物料编号" Then
    Dim nms() As String = {"物料名称","规格型号","单位"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
       
        dr = DataTables("物料中心").Find("[物料编号] = '" & e.NewValue & "'")                   
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

 

Select Case e.DataCol.name
    Case  "物料名称","规格型号","物料编号", "入库数量","入库单号","交易日期","供货厂家","备注"
        Dim dr As DataRow = DataTables("物料明细").Find("编号 = '入库" & e.DataRow("_Identify") & "'")
        If dr Is Nothing Then
            dr = DataTables("物料明细").addnew
e.DataRow.save
            dr("编号") = "入库" & e.DataRow("_Identify")
        End If
       
        dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
       
    End  Select

 

“散件明细”表代码:

If e.DataCol.Name = "物料编号" Then
    Dim nms() As String = {"物料名称","规格型号","单位"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
       
        dr = DataTables("物料中心").Find("[物料编号] = '" & e.NewValue & "'")                   
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

DataTables("物料中心").DataCols("物料编号").RaiseDataColChanged("物料编号 = '" &e.DataRow("物料编号") & "'")


Select Case e.DataCol.name
    Case  "物料名称","规格型号","物料编号", "出库数量","出库单号","交易日期","客户","备注"
        Dim dr As DataRow = DataTables("物料明细").Find("编号 = '出库" & e.DataRow("_Identify") & "'")
        If dr Is Nothing Then
            dr = DataTables("物料明细").addnew
e.DataRow.save
            dr("编号") = "出库" & e.DataRow("_Identify")
        End If
       
        dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
       
    End  Select

 

是否代码有冲突啊


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


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

代码没问问题。

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/12/29 19:53:00 [只看该作者]

 

有其他人不能看的个人信息内容,所以删除了
请求老师帮忙看看,是说明原因导致的

 

[此贴子已经被作者于2015/12/29 20:47:44编辑过]

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


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

1、数据库发上来

 

2、说明怎么操作无效。

 

3、最好做一个独立的例子发上来。


 回到顶部
总数 47 上一页 1 2 3 4 5 下一页