Foxtable(狐表)用户栏目专家坐堂 → 出错了


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

主题:出错了

美女呀,离线,留言给我吧!
采菊东篱下
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 21:19:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3030.png
图片点击可在新窗口打开查看
你试过点目录树中的产品没有?一点整个软件消失!你能计算结存?我明天回单位我的手提试试,同一问题,问足一天没解决,我花钱搞那么多、那么复杂不是为了方便录入、统计,用这软件就根本没意义了!事实上同样的表结构、数据源我用excel已实现了录入、统计,存货一览表汇总、明细分类账、往来明细账、往来一览汇总等功能,只是数据越多,运行越慢才改用你们的软件,可问了一整天解决不了问题!

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 21:32:00 [只看该作者]

保留您原来的流水账的用法,12楼甜版的代码不是放在表事件的,是放到按钮执行的。

原来的流水账的用法具体有什么问题?需要什么效果?

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 21:44: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("产品名称") & "' And [规格型号] = '" & mr("规格型号") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("结余数量") = mr("主计量单位进仓数量") - mr("主计量单位出仓数量")
            'mr("结余金额") = mr("主计量单位进仓数量") * mr("进仓单价") + mr("费用") - mr("主计量单位出仓数量") * mr("出仓单价")
            dr("结余数量") = mr("结余数量")
            'dr("结余金额") = mr("结余金额")
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & "And [产品名称] = '" & dr("产品名称") & "' And [规格型号] = '" & mr("规格型号") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("结余数量") = drs(i-1)("结余数量") + drs(i)("主计量单位进仓数量") - drs(i)("主计量单位出仓数量")
            'drs(i)("结余金额") = drs(i-1)("结余金额") + drs(i)("主计量单位进仓数量") * drs(i)("进仓单价") + drs(i)("费用") - drs(i)("主计量单位出仓数量") * drs(i)("出仓单价")
        Next
        If e.DataCol.Name = "产品名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [产品名称] = '" & e.OldValue & "' And [规格型号] = '" &  e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[产品名称] = '" & e.OldValue & "' And [规格型号] = '" &  e.OldValue & "'" , "[_SortKey]")
                If dr IsNot Nothing Then '如果找到,计算库存
                    dr("结余数量") = dr("主计量单位进仓数量") - dr("主计量单位出仓数量")
                    'dr("结余金额") = dr("主计量单位进仓数量") * dr("进仓单价") +dr("费用") - dr("主计量单位出仓数量") * dr("出仓单价")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey")  & " And [产品名称] = '" & dr("产品名称") & "' And [规格型号] = '" & mr("规格型号")  & "'",  "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("结余数量") = drs(i-1)("结余数量") + drs(i)("主计量单位进仓数量") - drs(i)("主计量单位出仓数量")
                    'drs(i)("结余金额") = drs(i-1)("结余金额") + drs(i)("主计量单位进仓数量") * drs(i)("进仓单价") + drs(i)("费用") - drs(i)("主计量单位出仓数量") * drs(i)("出仓单价")
                Next
            End If
        End If
End Select


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 21:57:00 [只看该作者]

这段代码同样出现21楼的错误提示。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 22:00:00 [只看该作者]

要求安日期、录入顺序排序计出存货,上面的代码没安这要求写。


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 22:18: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("产品名称") & "' And [规格型号] = '" & mr("规格型号") & "'", "[_SortKey] Desc")
        If dr Isnot Nothing Then
            mr("结余数量") = mr("主计量单位进仓数量") - mr("主计量单位出仓数量")
            'mr("结余金额") = mr("主计量单位进仓数量") * mr("进仓单价") + mr("费用") - mr("主计量单位出仓数量") * mr("出仓单价")
            dr("结余数量") = mr("结余数量")
            'dr("结余金额") = mr("结余金额")
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & "And [产品名称] = '" & dr("产品名称") & "' And [规格型号] = '" & mr("规格型号") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("结余数量") = drs(i-1)("结余数量") + drs(i)("主计量单位进仓数量") - drs(i)("主计量单位出仓数量")
            'drs(i)("结余金额") = drs(i-1)("结余金额") + drs(i)("主计量单位进仓数量") * drs(i)("进仓单价") + drs(i)("费用") - drs(i)("主计量单位出仓数量") * drs(i)("出仓单价")
        Next
        End If
        If e.DataCol.Name = "产品名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [产品名称] = '" & e.OldValue & "' And [规格型号] = '" &  e.OldValue & "'", "[_SortKey] Desc")
            If dr is Nothing Then
                dr = e.DataTable.Find("[产品名称] = '" & e.OldValue & "' And [规格型号] = '" &  e.OldValue & "'" , "[_SortKey]")
                If dr IsNot Nothing Then '如果找到,计算库存
                    dr("结余数量") = dr("主计量单位进仓数量") - dr("主计量单位出仓数量")
                    'dr("结余金额") = dr("主计量单位进仓数量") * dr("进仓单价") +dr("费用") - dr("主计量单位出仓数量") * dr("出仓单价")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey")  & " And [产品名称] = '" & dr("产品名称") & "' And [规格型号] = '" & mr("规格型号")  & "'",  "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("结余数量") = drs(i-1)("结余数量") + drs(i)("主计量单位进仓数量") - drs(i)("主计量单位出仓数量")
                    'drs(i)("结余金额") = drs(i-1)("结余金额") + drs(i)("主计量单位进仓数量") * drs(i)("进仓单价") + drs(i)("费用") - drs(i)("主计量单位出仓数量") * drs(i)("出仓单价")
                Next
            End If
        End If
End Select

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 22:31:00 [只看该作者]

没弹出窗口报错了,但计算结果是错误的,没规格的产品依然没算出结存。

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 22:34:00 [只看该作者]

如果规格是可以没有值的,参考12楼的这种用法写查询条件

Dim filter As String = ""
    If ary(1) = Nothing Then
        filter = "[产品名称] = '" & ary(0) & "' and [规格型号] is null"
    Else
        filter = "[产品名称] = '" & ary(0) & "' And [规格型号] = '" & ary(1) & "'"
    End If

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 22:48:00 [只看该作者]

12楼的写法一直报错啊,同样没法计算出结存!一直没解决,你运行看看吧,结果对才是硬道理。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2019/4/9 22:50:00 [只看该作者]

计算结果错误,没规格的没计算出结存,两个问题啊。
[此贴子已经被作者于2019/4/9 22:51:39编辑过]

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