Foxtable(狐表)用户栏目专家坐堂 → [求助]关于代码编制的问题


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

主题:[求助]关于代码编制的问题

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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/21 11:14:00 [只看该作者]

结果,无论在“数据录入”表里输入什么物资,结果“收”表里全都不显示了,请教老师,这是什么原因啊?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/21 12:31:00 [只看该作者]

改成这样

 

Select Case e.DataCol.name
    Case "总码", "出入库"
        If e.DataRow("出入库") = "收" Then
            Dim dr As DataRow = DataTables("收").Find("总码= '" & e.DataRow("总码") & "'")
            If dr Is Nothing Then
                dr = DataTables("收").AddNew()
                dr("总码") = e.DataRow("总码")
                dr("日期") = e.DataRow("录入时间")
                dr("物品类别") = e.DataRow("物品类别")
                dr("资金类别") = e.DataRow("资金类别")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
                dr("金额") = e.DataRow("金额")
                dr("供货商") = e.DataRow("供货商")
                dr("经手人") = e.DataRow("经手人")
                dr("单据编号") = e.DataRow("单据编号")
                dr("备注") = e.DataRow("备注")
            End If
        End If
       
    Case  "数量","金额"
        If e.DataRow("出入库") = "收" Then
            Dim dr As DataRow = DataTables("收").Find("总码 = '" & e.DataRow("总码") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        End If
End Select
    
   

 


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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 16:55:00 [只看该作者]

按照老师说的代码,和我需求的还是有出入,我把代码改成了:


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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 16:56:00 [只看该作者]

Select Case e.DataCol.name
    Case "总码","出入库","库字"
        If e.DataRow("出入库") = "收" OrElse  e.DataRow("出入库") = "发"  AndAlso e.DataRow("库字") = "寄售" Then
            Dim dr As DataRow = DataTables("收").Find("总码= '" & e.oldvalue & "'")
            If dr Is Nothing Then
                dr = DataTables("收").AddNew()
                dr("总码") = e.DataRow("总码")
                dr("日期") = e.DataRow("日期")
                dr("物品类别") = e.DataRow("物品类别")
                dr("资金类别") = e.DataRow("资金类别")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
                dr("金额") = e.DataRow("金额")
                dr("供货商") = e.DataRow("供货商")
                dr("经手人") = e.DataRow("经手人")
                dr("单据编号") = e.DataRow("单据编号")
                dr("备注") = e.DataRow("备注")
            Else
                dr("总码") = e.DataRow("总码")
            End If
        End If
    Case  "数量","金额"
        If e.DataRow("出入库") = "收"  OrElse  e.DataRow("出入库") = "发"  AndAlso e.DataRow("库字") = "寄售" Then
            Dim dr As DataRow = DataTables("收").Find("总码 = '" & e.DataRow("总码") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        End If
End Select
[此贴子已经被作者于2018/3/22 16:56:57编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/22 17:00:00 [只看该作者]

参考代码

 

Select Case e.DataCol.name
    Case "总码", "出入库"
        If e.DataRow("出入库") = "收" Then
            Dim dr As DataRow = DataTables("收").Find("总码= '" & e.DataRow("总码") & "'")
            If dr Is Nothing Then
                dr = DataTables("收").AddNew()
                dr("总码") = e.DataRow("总码")
                dr("日期") = e.DataRow("录入时间")
                dr("物品类别") = e.DataRow("物品类别")
                dr("资金类别") = e.DataRow("资金类别")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
                dr("金额") = e.DataRow("金额")
                dr("供货商") = e.DataRow("供货商")
                dr("经手人") = e.DataRow("经手人")
                dr("单据编号") = e.DataRow("单据编号")
                dr("备注") = e.DataRow("备注")
            ElseIf e.DataRow("出入库") = "发" Then

                '这里写代码
            End If
        End If
       
    Case  "数量","金额"
        If e.DataRow("出入库") = "收" Then
            Dim dr As DataRow = DataTables("收").Find("总码 = '" & e.DataRow("总码") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        ElseIf e.DataRow("出入库") = "发" Then

            '这里写代码
        End If
End Select


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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 17:02:00 [只看该作者]

这回实现了,我在数据录入表里输入总码后,只要是收发存为“收”,收表里就会显示,可是问题又出来了,当数据录入表里新增一项物资,如果和收表已经自动录入的总码相同,那么数量新值会自动覆盖旧值,不符合设计要求,希望新值数量填入收表的新增行中,而不是覆盖旧值,新增行的数量空着。这个代码该如何修改呢?

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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 17:04:00 [只看该作者]

 Case  "数量","金额"
        If e.DataRow("出入库") = "收"  OrElse  e.DataRow("出入库") = "发"  AndAlso e.DataRow("库字") = "寄售" Then
            Dim dr As DataRow = DataTables("收").Find("总码 = '" & e.DataRow("总码") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        End if

 

我想问题是否出现在这一块,但不知道怎么修改。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/22 17:16:00 [只看该作者]

Select Case e.DataCol.name
    Case "总码", "出入库"
        If e.DataRow("出入库") = "收" Then

            e.DataRow.Save
            Dim dr As DataRow = DataTables("收").Find("总码= '" & e.DataRow("_Identify") & "'")
            If dr Is Nothing Then
                dr = DataTables("收").AddNew()
                dr("总码") = e.DataRow("_Identify")
                dr("日期") = e.DataRow("录入时间")
                dr("物品类别") = e.DataRow("物品类别")
                dr("资金类别") = e.DataRow("资金类别")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
                dr("金额") = e.DataRow("金额")
                dr("供货商") = e.DataRow("供货商")
                dr("经手人") = e.DataRow("经手人")
                dr("单据编号") = e.DataRow("单据编号")
                dr("备注") = e.DataRow("备注")
            ElseIf e.DataRow("出入库") = "发" Then

                '这里写代码
            End If
        End If
       
    Case  "数量","金额"
        If e.DataRow("出入库") = "收" Then
            Dim dr As DataRow = DataTables("收").Find("总码 = '" & e.DataRow("_Identify") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        ElseIf e.DataRow("出入库") = "发" Then

            '这里写代码
        End If
End Select


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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 18:40:00 [只看该作者]

甜老师,还是不对,我又琢磨了下,发现在“数据录入”表里,粘贴总码,对应项自动在“数据录入”表里生成,第一笔都正常显示,从第二笔(第二行)开始,此时填入和第一行相同的总码,如果我先在“数据录入”表里[出入库]列中选择字符“收”,再填入数量,“收”表里就发生:两行都按要求显示出来,只是第二次的数量覆盖了第一次的数量,造成第一次“收”的数据丢失。如果我先填入数量,再在[出入库]列中选填“收”,结果符合设计要求,两行正常显示,数量也正常显示,一切正常。估计这是事件激发顺序所致,需要增加一些判断语句。我现在是把[出入库]列,向右移动至[数量]列的右边,人为强行先填数量,避免上述问题。

     还有,第一行总码已经激发事件自动填充到“收”表里,如果我在“数据录入”表里要重新粘贴总码在第一行(更改的意思),那数据就乱套了(收表里旧数据依然存在,又新增一行数据),这不对。目前只能在哪一行粘贴总码后,如果有问题需要修改,只能删除数据录入表里的需要修改的那一行,那么收表里也就相应删除了这一行。


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


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/3/22 18:45:00 [只看该作者]

而且,如果数量填完,就不能修改,否则,修改的数量又填充到第一笔去了。

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