设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6592|回复: 13
打印 上一主题 下一主题

[其它] [原创]先进先出法核算成本例子

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-30 05:39:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用类似补银行存款的方式,核算先进先出法。平时并不需要对出货单价进行成本核算,月未或需查询时执行更新即可,特适合不需即时核算单价,会计制度不规范的企业。在输出报表时必须以日期,单据号进行排序方显示正确。


   (修正了进货单 退货结算的问题)

[此贴子已经被作者于2006-6-30 20:16:09编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-30 06:03:00 | 只看该作者
谢谢分享,正想找这方面的东西
3#
发表于 2006-6-30 16:34:00 | 只看该作者
发现了一个我之前就发现的类似问题:

    当我们选择了查询项之后,如选择好商品名称“XXXXXXX”就出现了该商品的所有信息,如果这个时候点击了“更新”然后又不小心点到了子窗体的某个地方的话,所有的数据都变成了“#已删除的”。这是为什么呀?
4#
 楼主| 发表于 2006-6-30 16:59:00 | 只看该作者
以下是引用FIFI在2006-6-30 8:34:00的发言:


发现了一个我之前就发现的类似问题:

    当我们选择了查询项之后,如选择好商品名称“XXXXXXX”就出现了该商品的所有信息,如果这个时候点击了“更新”然后又不小心点到了子窗体的某个地方的话,所有的数据都变成了“#已删除的”。这是为什么呀?

    那是因为更新后,子窗体没有同步更新 ,在更新事件中增加刷新子窗体:

   Private Sub Cmd更新_Click()
       BdJh                    '补登进货资料
       Xjxc                      '按先进先出核算出货单价
      Checkdj                 '检查单据是否OK,适合按单据支付企业
      BdYe                      '补登数量金额结余数
      Cmd查询_Click      '刷新子窗体
End Sub
5#
发表于 2006-6-30 17:19:00 | 只看该作者
    1、比如你的“spdm”为“010102-50-165-035”的,在06-01-22日这天的发货数量和发货金额是负数,表示退货是吗?

    2、比如我要求查询的时候,要求商品名称、开始日期、截止日期都不能为空,那么代码应该怎么改?
6#
 楼主| 发表于 2006-6-30 17:44:00 | 只看该作者
以下是引用FIFI在2006-6-30 9:19:00的发言:


    1、比如你的“spdm”为“010102-50-165-035”的,在06-01-22日这天的发货数量和发货金额是负数,表示退货是吗?

    2、比如我要求查询的时候,要求商品名称、开始日期、截止日期都不能为空,那么代码应该怎么改?



  1.负数代表退货

       2.把查询代码修改为下面的,同时调整开始日期结束日期顺序,使期先于商品代码输入

 Private Sub Cmd查询_Click()
      
    strWhere = ""
   
    If IsNull(Me.TxtSpdm) Then
       MsgBox "商品代码不能为空"
       Me.TxtSpdm.SetFocus
       Exit Sub
    End If
   
    If IsNull(Me.TxtBd) Then
        MsgBox "日期不能为空"
        Me.TxtBd.SetFocus
        Exit Sub
    End If
   
    If IsNull(Me.TxtEd) Then
        MsgBox "日期不能为空"
        Me.TxtEd.SetFocus
        Exit Sub
    End If
     
     If Me.TxtEd < Me.TxtBd Then
         MsgBox "结束日期必须大于等于开始日期"
         Exit Sub
     End If
     
     strWhere = strWhere & "([spdm] = '" & Me.TxtSpdm & "') AND "
     strWhere = strWhere & "([kdrq] >= #" & Format(Me.TxtBd, "yyyy-mm-dd") & "#) AND "
     strWhere = strWhere & "([kdrq] <= #" & Format(Me.TxtEd, "yyyy-mm-dd") & "#) AND "
   
     strWhere = Left(strWhere, Len(strWhere) - 5)
   
    Me.Frmjxhnr.Form.Filter = strWhere
    Me.Frmjxhnr.Form.FilterOn = True
   
End Sub
7#
发表于 2006-6-30 20:08:00 | 只看该作者
andymark,能否将计算的原理大概介绍一下,便于大家阅读和移植您的代码。

另外我问一下:

退货的单价是否按退货时点的先进先出计算退货单价?因为有些企业是按原出库时的单价退货的。

多人共同执行这操作是否会有问题?每执行一次要删除表里记录,运行多了,数据库是否会膨胀?

8#
发表于 2006-6-30 22:47:00 | 只看该作者
很好哟,看来还要学学ADO了,

谢谢andymark,幸苦了
9#
 楼主| 发表于 2006-7-1 04:38:00 | 只看该作者
以下是引用青青在2006-6-30 12:08:00的发言:


andymark,能否将计算的原理大概介绍一下,便于大家阅读和移植您的代码。

另外我问一下:

退货的单价是否按退货时点的先进先出计算退货单价?因为有些企业是按原出库时的单价退货的。

多人共同执行这操作是否会有问题?每执行一次要删除表里记录,运行多了,数据库是否会膨胀?




     退货包含进货退货和出货退货

     在进货退货,可以采用原来的单价,而出货退货必须要在单据标明具体那批货才能处理

     更新了代码,重置自动编号的初始值(其实这个可以不用管它,对数据库不会造成影响的)

     多人操作执行同时执行更新,可能不不行,但可以把它放到本地表上,就不会相互干扰
10#
发表于 2006-8-7 23:25:00 | 只看该作者
ddddddd
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 22:43 , Processed in 0.149495 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表