Office中国论坛/Access中国论坛

标题: 有没有接触过Quicken个人理财软件的,想请教一个问题 [打印本页]

作者: 小鸡快跑    时间: 2016-3-10 15:31
标题: 有没有接触过Quicken个人理财软件的,想请教一个问题
好久没在论坛请教了,给各位问好。
Access能做出类似Quicken的财务记账软件吗?其实我就想知道怎么实现账户之间关联的,比如:在quicken里,从银行里提现1000,在现金里做一笔提现,现金入账1000,选择关联的账户比如工行,保存。然后去工行账户查看,自动会有一笔存款支出1000,日期、金额跟现金支出的那笔一样,只不过一个是入账,一个是支出,另外对应的账户显示是现金。如果对金额进行修改,相对的账户金额也会同时变化。每个账户都可以做同样的操作。

1、我就想知道这个账户结对子的功能在ACCESS里能实现吗?
2、如果能实现,是输入一笔收支后,通过代码自动增加一笔相反的收支?还是通过其他的方式?
有没有现成的例子可以学习一下?

谢谢大家

作者: 小鸡快跑    时间: 2016-3-10 15:44
本帖最后由 小鸡快跑 于 2016-3-10 15:46 编辑

我贴个图这里一个是现金账户,一个是个人借款账户,2-28日那笔3000的借款就是输入了一次,在两个账户分别显示一进一出

[attach]58284[/attach]

[attach]58283[/attach]


作者: tmtony    时间: 2016-3-10 15:47
以前我们有做过个人理财软件,也可搜索 论坛上 理财 收支 等
你贴几个图上来看看
作者: 小鸡快跑    时间: 2016-3-10 15:51
@tmtony 你好呀!
我上面贴的图能看到吗?
作者: roych    时间: 2016-3-10 16:00
使用Access支付必须考虑以下问题:
1、第三方支付接口如何引入。——银行应该是不会对个人开放接口的。
2、如何保证支付的安全性。
作者: 小鸡快跑    时间: 2016-3-10 16:03
roych 发表于 2016-3-10 16:00
使用Access支付必须考虑以下问题:
1、第三方支付接口如何引入。——银行应该是不会对个人开放接口的。
2 ...

我不做那么复杂的软件,就是自己单位用用。不需要第三方支付接口。

其实现在困扰我的就是一个问题,怎么做到在一个账户中记录的资金进出,自动关联到另一个账户资金的进出,这两个动作是相反的,但是只需要做一次就可以。
作者: 小鸡快跑    时间: 2016-3-10 16:04
我上面举例说的提现1000,都是在单位记账的动作,不是真的关联到银行,嘿嘿。
作者: roych    时间: 2016-3-10 16:16
小鸡快跑 发表于 2016-3-10 16:04
我上面举例说的提现1000,都是在单位记账的动作,不是真的关联到银行,嘿嘿。

从逻辑上来讲,应该是这样:
例如A卡向B卡支付。
先创建一条A卡的支付流水记录,然后更新A卡的余额,接着读取A卡最近一条流水记录【也就是刚刚支付的记录】,并据此创建B卡的收入记录,最后根据B卡的收入记录更新B卡的余额即可。

其实这跟大部分进销存软件中的调拨动作是类似的。应该不会特别难。
作者: 小鸡快跑    时间: 2016-3-10 16:26
roych 发表于 2016-3-10 16:16
从逻辑上来讲,应该是这样:
例如A卡向B卡支付。
先创建一条A卡的支付流水记录,然后更新A卡的余额,接 ...

哦,那就是让系统自动写相对应的一笔账?
可是我想想就觉得复杂,因为这笔账以后还有可能修改,所以,也许需要在这两笔账上都加上某个标识:
如果一个账户上的金额修改了另一个也自动跟着修改;如果一账户上删除这笔交易了另一账户也需要删除;如果关联错了,应该是建行关联成工行了,那么还能自动删除掉工行那笔账,让它出现在建行账户上.......

@roych 想的我脑袋都疼,但是Quicken就是这么实现的。咱Access能做到吗?很高难吗?
麻烦高手们都替我琢磨琢磨这事
作者: 风中漫步    时间: 2016-3-10 16:30
能做到,那些财务软件也是这样做的

你的记录是怎样录入的?
作者: 小鸡快跑    时间: 2016-3-10 16:37
风中漫步 发表于 2016-3-10 16:30
能做到,那些财务软件也是这样做的

你的记录是怎样录入的?

我没太明白你的意思,不知道我说的是不是你问的:
单位(小单位)的账户大致分现金、银行(包括中、工交、农几个银行),其中还有不同员工的预借款,这几个账户的钱就是转来转去的。手工记账时代就是在这个本上记一笔比方现金转入,另外的银行账上上记一笔存款转出。我想实现的就是通过数据库,在现金或者银行做一次记录,关联好相对应的账户,就可以实现另一个账户的自动增减。
作者: 小鸡快跑    时间: 2016-3-10 16:41
风中漫步 发表于 2016-3-10 16:30
能做到,那些财务软件也是这样做的

你的记录是怎样录入的?

用ACCESS实现的话,是 要通过代码在后台自动的增减和修改记录吗
作者: 风中漫步    时间: 2016-3-10 16:49
嗯,是的.
作者: roych    时间: 2016-3-10 17:12
小鸡快跑 发表于 2016-3-10 16:26
哦,那就是让系统自动写相对应的一笔账?
可是我想想就觉得复杂,因为这笔账以后还有可能修改,所以,也 ...

不对吧?你从农行转账到工行,钱就到工行啊,怎么会出现在别的银行呢?
如果你从工行全部取出,然后注销了。这时候才全部删除工行的记录的吧?
重新关联其它银行,也不能影响历史记录啊。
也就是说,这个时候是不能使用级联更新和级联删除的功能。
因此,应该设置一个转入卡,一个转出卡。这两张卡都可能会根据实际而发生变更。一旦注销之后,则可以把相应的流水记录删除。
另外,如果考虑到资产冻结之类,则可以设置一个是否字段,当选择了之后就冻结它,不能进行操作。

作者: 风中漫步    时间: 2016-3-10 17:28
[attach]58292[/attach]

录入一笔,代码保存并更新余额就差不多了


作者: 风中漫步    时间: 2016-3-10 17:30
本帖最后由 风中漫步 于 2016-3-10 17:31 编辑
roych 发表于 2016-3-10 17:12
不对吧?你从农行转账到工行,钱就到工行啊,怎么会出现在别的银行呢?
如果你从工行全部取出,然后注销 ...

他说的类似流水账,没你想的那么复杂.银行间的转款,此增彼减
作者: 小鸡快跑    时间: 2016-3-10 20:10
roych 发表于 2016-3-10 17:12
不对吧?你从农行转账到工行,钱就到工行啊,怎么会出现在别的银行呢?
如果你从工行全部取出,然后注销 ...

我就是打个比方,比如我本来从工行取了1000现金,记账时工行账户和现金账户一个减一个增1000。对账的时候发现记错地方了,记成建行了,我就直接在现金账户里的这一笔交易,把关联账户改成建行,保存,这个时候再去看工行,已经没有这一笔交易了,但是打开建行账户,却出现了这笔关联交易,就是下面风中漫步所说的此长彼消的功能。Quicken里就可以这样操作,我们可以理解为账户还没审核之前你是可以改动的。
我感觉这样操作挺灵活的,所以想在自己单位的数据库中实现,就是不知道该怎么入手
作者: 小鸡快跑    时间: 2016-3-10 20:12
风中漫步 发表于 2016-3-10 17:28
录入一笔,代码保存并更新余额就差不多了

你的这个界面,其实等于记了两遍,这还是跟手工记账一样了,还是不是我想要的那种呀
作者: 小鸡快跑    时间: 2016-3-10 20:16
本帖最后由 小鸡快跑 于 2016-3-10 20:18 编辑

我要的是这样的:只用在一个账户的界面操作一次资金的转存,在两个账户都能看到结果:


作者: roych    时间: 2016-3-11 09:08
小鸡快跑 发表于 2016-3-10 20:10
我就是打个比方,比如我本来从工行取了1000现金,记账时工行账户和现金账户一个减一个增1000。对账的时候 ...

记错了?
想想也是醉了。如果银行卡转账是时,账号根本不存在这个账号,你说,能不能转过去呢?
从逻辑上来讲,应该是避免出现这种情况,而不是在发生这种情况后再想法解决。

和银行不同的是,银行本身有用户账号的基础数据。而数据库是没有的,因此,前期应该是先录入账号信息,而后面的流水账,则仅限于账号列表里。
作者: 小鸡快跑    时间: 2016-3-11 12:46
roych 发表于 2016-3-11 09:08
记错了?
想想也是醉了。如果银行卡转账是时,账号根本不存在这个账号,你说,能不能转过去呢?
从逻 ...

就算之前列好了银行账户清单,下拉菜单打开点错位置了也是可能发生的


我举这个例子,只是想知道ACCESS数据库的后台是不是可以做到这么自如的切换?换了个银行后台就删除一个银行里的数据并且在另一个银行里添加同样的数据,请高手继续解答,非常感谢!
作者: 风中漫步    时间: 2016-3-11 13:18
看懂了,应该没问题.
不过图片中的控件,acc自身应该不行.不过,站长可能有办法,你找他聊聊吧
作者: roych    时间: 2016-3-11 14:26
小鸡快跑 发表于 2016-3-11 12:46
就算之前列好了银行账户清单,下拉菜单打开点错位置了也是可能发生的

级联更新跟级联删除是没问题的。
删除一个账户,会把建立了关系的子表相应数据删除。
更新一个账户,同样会更新子表中改账户的字段,但其他字段仍然需要使用更新查询的。
但是新增数据则需要另外建立追加查询。
不过个人觉得,对于级联更新跟级联删除,一定要慎用。
作者: xinrenq    时间: 2016-3-11 14:50
本帖最后由 xinrenq 于 2016-3-11 14:51 编辑

问题是两个。 1.可以实现功能,但因为软件开发平台的不同,实现的操作界面会有些差异
2.方法有两种,一种是:平行生成另一笔记录,另一种是:使用同一笔数据,只是显示时的不同

作者: 小鸡快跑    时间: 2016-3-11 17:50
风中漫步 发表于 2016-3-11 13:18
看懂了,应该没问题.
不过图片中的控件,acc自身应该不行.不过,站长可能有办法,你找他聊聊吧

好吧,如果超出了ACCESS,我还是放弃吧,本来这就还没整太明白呢,只是我很多年前用过Quicken,对这个功能印象深刻感觉很智能,一直惦记。

谢谢你的一路解答,有不明白的还会上来请教!千万莫烦
作者: 小鸡快跑    时间: 2016-3-11 17:57
roych 发表于 2016-3-11 14:26
级联更新跟级联删除是没问题的。
删除一个账户,会把建立了关系的子表相应数据删除。
更新一个账户,同 ...

哦,我倒是忘记了级联删除和更新的这个功能。我原本设计现金、银行是在一个表里,像流水账那样做资金的进出,遇到相互有关联业务的交易时,就不得不做两笔,一个账户进一个账户出,感觉有点傻,呵呵。现在想把每个账户分开做不同的表,各自有界面可以独立录入,想到了关联的交易不知道怎么解决,就想按照Quicken的模式觉得非常方便,尤其是个人借款、还款用起来非常方便,现在卡壳了
我觉得如果账户分开不同的表好像用不上级联更新和删除?因为本身各个账户不能做成关系表,貌似。

我再想想,如果你有思路了也希望不吝赐教,谢谢!
作者: 小鸡快跑    时间: 2016-3-11 18:20
xinrenq 发表于 2016-3-11 14:50
问题是两个。 1.可以实现功能,但因为软件开发平台的不同,实现的操作界面会有些差异
2.方法有两种,一种 ...

1、操作界面无所谓了,关键是实现功能
2、“平行生成另一笔记录”,你的意思是用更新查询、追加查询和删除查询来实现吗?如果是这样,会不会有点不靠谱?电脑会不会乱搞,有点不放心
“使用同一笔数据只是显示时的不同”,是不是这个意思:指数据都在一个表中,交易只有一个,但是在不同的账户里查看时,用编程把数据显示成应该的样子,比如提现,在现金账户里显示现金增加,而在银行账户里显示存款减少?不知道这个怎么实现?只需要录入一笔交易吗?
谢谢你的回复。
作者: todaynew    时间: 2016-3-11 20:58
本帖最后由 todaynew 于 2016-3-11 21:03 编辑

很简单嘛,只是个借贷平衡问题。

http://www.office-cn.net/forum.php?mod=viewthread&tid=117771&highlight=%BB%E1%BC%C6

http://www.office-cn.net/forum.php?mod=viewthread&tid=92944&highlight=%D5%CB%BB%A7

http://www.office-cn.net/forum.php?mod=viewthread&tid=117748&highlight=%BB%E1%BC%C6




作者: 小鸡快跑    时间: 2016-3-12 15:38
todaynew 发表于 2016-3-11 20:58
很简单嘛,只是个借贷平衡问题。

http://www.office-cn.net/forum.php?mod=viewthread&tid=117771&highl ...

惊喜哦,居然周末刷出来回复了!谢谢todayncw版主,先看看




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