Office中国论坛/Access中国论坛

标题: 此为例子,有谁解决一下 [打印本页]

作者: fanion    时间: 2006-3-11 02:25
标题: 此为例子,有谁解决一下
subaccount 这个表是子帐号表

blaccount 这个为银行帐号主表

accountbook 这个为做帐记录表

buy_in 为收入栏位

buy_out 支出栏位

subovermoneyz 为每一个子帐号的初始余额

现在要计算余额

余额=收入-支出+开帐的初始余额。

[url=http://www.office-cn.net/forum.php?mod=viewthread&tid=37376]http://www.office-cn.net/forum.php?mod=viewthread&tid=37376[/url]




一点通  我这个问题有什么办法可以解决的??急![attach]16329[/attach]

作者: qlm    时间: 2006-3-11 03:04
你把表与表间的关系做好,再发上来。把问题再说清楚一点,我这个闲人可以帮你解决这个问题!
作者: fanion    时间: 2006-3-11 04:26
我重新上传了。
作者: fanion    时间: 2006-3-11 22:26
没有人给我解决啊?
作者: fanion    时间: 2006-3-12 22:05
给点意见我吗
作者: qlm    时间: 2006-3-13 05:26
其实不难,我帮你改了一下,你看看啰!

[attach]16352[/attach]



作者: fanion    时间: 2006-3-13 06:32
不是我想要的,我重新上传了例子
作者: qlm    时间: 2006-3-13 15:18
以下是引用fanion在2006-3-12 22:32:00的发言:
不是我想要的,我重新上传了例子



例子在那里?

你的问题不清楚,很难帮你[em06]
作者: fanion    时间: 2006-3-13 16:02
例子我重新上传了一个贴啊?

我要算的是红色字栏位的余额[attach]16357[/attach]


[此贴子已经被作者于2006-3-13 8:30:51编辑过]


作者: fanion    时间: 2006-3-13 18:36
我已上传例子,9楼的例子就是。我要算的是图片档红色字栏位的余额。
作者: qlm    时间: 2006-3-13 20:09
我有点明白了,是不是每当你筛选完,余额都会重新计算?

不过看完你的例子,我的头好晕。我还是不明白你的程序这样设计目的是什么。

你的over_money不绑定在一个字段,这是不可能的有不同结果的。

如果绑定over_money,按顺序计算余额还是可以的。

总之,你把意图说清了,事情就好办.

[此贴子已经被作者于2006-3-13 13:51:01编辑过]


作者: fanion    时间: 2006-3-13 22:58
为什么见不到你回复qlm
作者: qlm    时间: 2006-3-14 02:45
我不懂财务,很难消化你的数据库。现在又要上班,所以还没时间帮你搞。

发一段代码给你吧:

'刷新余额,在buy_in 及 buy_out 的AfterUpdate事件里调用以下过程:

Sub refreshSmz()
Dim ia, ib, ic, smz As Integer
ia = 0
ib = 0
ic = id
smz = Nz(DLookup("subovermoneyz", "subaccount", "subsaveno='" & booksubsaveno & "'"), 0)

Do Until Me.NewRecord
If ia <> 0 Then overmoney = ia + buy_in - buy_out + smz: ia = overmoney
If ia = 0 Then over_money = Nz(DSum("buy_in", "accountbook", "id<=" & id), 0) - Nz(DSum("buy_out", "accountbook", "id<=" & id), 0) + smz: ia = over_money
DoCmd.GoToRecord , , acNext
ib = ib + 1
Loop

Do Until id = ic
DoCmd.GoToRecord , , acPrevious
Loop

End Sub
作者: fanion    时间: 2006-3-14 03:21
qlm,你是不是回我啦,怎么我都看不到你回呢?
作者: fanion    时间: 2006-3-14 03:33
这样不行吧!我例子里面的窗体,不做数据输入的画面,只是做一个查询的界面,反这段代码放这个事件下是不会执行的啊?
作者: qlm    时间: 2006-3-14 06:30
[attach]16371[/attach]

作者: fanion    时间: 2006-3-14 22:26
还是不对啊?第一个帐算出来是对的啦。但从第二个子帐号就不对了。我的数据是按顺序的啊?如图的顺序。我里面的资料是同一个滙丰银两个子帐号的资料。分别是A01、A02子帐号[attach]16387[/attach]


[此贴子已经被作者于2006-3-14 14:26:42编辑过]


作者: fanion    时间: 2006-3-14 23:01
按你这样改了过后,是可以算出来了,但只能算出第一个子帐号的资料正前正确。第二个开始就不正确了。不信你把booksubsaveno这个栏位下面的A01资料删除。那这个子帐号的资料又是正确了,但问题是这个查询的资料不是一个子帐号的资料他有很多个子帐号资料。怎么样才可以解决这个问题呢?
作者: qlm    时间: 2006-3-15 04:46
[em06].....[em06]....[em06][em08]




我始终认为,增加一个[id]字段是最保险的保证顺序的办法!






[此贴子已经被作者于2006-3-15 18:20:36编辑过]


作者: qlm    时间: 2006-3-16 02:41
[attach]16419[/attach]


应该OK了!快下来看看!
作者: fanion    时间: 2006-3-21 00:47
这个查询我应该怎么改才能算出月份的期初跟期末金额啊?
作者: fanion    时间: 2006-3-24 03:31
没有会改吗?
作者: fan0217    时间: 2006-3-24 03:37
你的其实就是个余额计算的问题。参考:http://www.office-cn.net/forum.php?mod=viewthread&tid=761&replyID=&skin=1
作者: fanion    时间: 2006-3-25 00:33
不是,我是想把它做成报表的型式,以子帐号进行分组,在每一个组上面显示之这个子帐号的上月结存和本月结存啊?
作者: fanion    时间: 2006-3-25 00:37
比如说我现在要列印3月份的所有子帐号的帐目明细,哪就要在每一个子帐号上面显示上月结存跟本月结存啊?也就是说要做一个月报表。
作者: qlm    时间: 2006-4-2 05:59
两个问题:

1. 是按照做帐日期,还是结帐日期?

2.每个月的上月结存不就是上月最后一笔交易的余额吗?不是已经算出来了吗?还要怎么算?





[此贴子已经被作者于2006-4-1 22:01:51编辑过]


作者: fanion    时间: 2006-4-4 19:18
1,按结帐日期.

2.这个我知道关键在报表上怎么显示出来?
作者: fanion    时间: 2006-4-8 18:45
1,按结帐日期.

2.这个我知道关键在报表上怎么显示出来?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3