以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 会计科目的代码以及读取金蝶数据库表的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175670) |
||||||||
-- 作者:hitzfeld -- 发布时间:2022/3/15 3:47:00 -- 会计科目的代码以及读取金蝶数据库表的问题 此主题相关图片如下:三级1.jpg
首先是读取金蝶数据库表的一个非常奇怪的问题!金蝶的会计科目表分三级科目,对应的名称也按三级划分,但是奇怪的是,有一部分(注意,奇怪的地方就是这里,是一部分)第三级科目的字符串无法读取到狐表!后台数据库有数据,读到狐表就没了。我尝试了很多方法,比如修改字符串长度,去除ASCII字符、重新加载表,无论怎么弄都不行。因为考虑可能有存储过程的干扰(金蝶的数据库存储过程超级多),我把这个会计科目表独立出来,专门做一个数据库,在狐表读取,仍然无法读出来!下面我把数据库和狐表的例程和截图发到论坛上,请老师帮忙看下?
然后是会计科目程序设计的问题,我把问题放在上传的狐表项目里面,请蓝老师运行下窗口,里面有问题的描述。 在此先谢谢老师,辛苦您了!
|
||||||||
-- 作者:hitzfeld -- 发布时间:2022/3/15 3:48:00 -- 第二张 第二张图 [此贴子已经被作者于2022/3/15 3:49:42编辑过]
|
||||||||
-- 作者:有点蓝 -- 发布时间:2022/3/15 8:45:00 -- 金蝶里的数据是有换行的,复制到记事本就看到了。把Foxtable的行拉高就能看到 |
||||||||
-- 作者:hitzfeld -- 发布时间:2022/3/15 15:32:00 -- 啊!原来是这样谢谢蓝老师,那我知道怎么处理了。另外一个关于仿造"用递归函数创建会计科目”报错的问题也想麻烦蓝老师看下,就是在上面的狐表文件里面,打开出口设计器,运行窗口就报的错误,麻烦老师指点一下。 |
||||||||
-- 作者:有点蓝 -- 发布时间:2022/3/15 16:45:00 --
|
||||||||
-- 作者:hitzfeld -- 发布时间:2022/3/15 18:19:00 -- 蓝老师好,感谢您帮我修改的代码,现在已经能实现二级、三级筛选了。真的太感激您了!!! 但是就是在启动窗口的时候仍然报“指定参数已超出有效值的范围”,这个我还是没有思路?感觉代码没问题啊?怎么就超出了呢?能麻烦您再看下吗?谢谢! |
||||||||
-- 作者:有点蓝 -- 发布时间:2022/3/15 20:01:00 -- 这个是数据有问题。有不符合规则的会计科目代码,自己排查吧 |
||||||||
-- 作者:hitzfeld -- 发布时间:2022/3/16 17:29:00 -- 经过一个晚上的研究,终于明白问题在哪里了!现在把结果说明一下,看看能不能对初学者有所帮助:首先,使用狐表的帮助文档中的“用递归函数生成会计科目目录树”,在用户录入科目代码的时候,必须严格按照代码的长度编码,比如定义是322长度,就必须是322,定义是433,就必须是433,不足部分必须补0,否则会报错。第二、狐表的案例有点问题,这个案例把会计中基本没用的“共同”和“表外”两个科目去掉了。案例中的数组定义是按Dim rts() As String = {"全部","资产","负债","权益","成本","损益"}分5个科目,分别对应1、2、3、4、5开头的科目代码,但是如果你的科目中有使用到超过5的代码,就会导致报“指定参数已超出有效值的范围”错误。 实际上代码是没用错的,你需要吧主科目补全了就对了!比如帮助文档的 Dim rts() As String = {"全部","资产","负债","权益","成本","损益"}要改为Dim rts() As String = {"全部","资产","负债","共同","权益","成本","损益","表外"}。这样就不会报错了!在此,感谢蓝老师的一路指导,感恩有您!谢谢! |