欢迎来到天天文库
浏览记录
ID:9533308
大小:105.50 KB
页数:4页
时间:2018-05-03
《vba自定义用友报表函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、[原创]VBA自定义用友报表函数 2008-09-1713:15分类:VBA学习字号:大大 中中 小小'取科目的期末值,支持未记账取数和辅助核算,熟悉VBA设计和用友数据库结构的网友可据此开发出更多实用的报表函数。我将其命名为UfoInExcel程序,意思是在Excel中可以像UFO一样取数,而实用性更胜于UFO,因为Excel的优越性地球人都知道。Functionqm(科目代码,月份,Optional年度AsString,Optional帐套号AsString,Optional包含未记帐AsString="Y",Opti
2、onal辅助核算方式AsString,Optional辅助核算编码AsString)If年度>Year(Date)ThenExitFunctionIf年度=Year(Date)And月份>=Month(Date)ThenExitFunctionDimcsqlstrAsString qm=0 IfTrim(科目代码)=""ThenExitFunction IfTrim(月份)=""ThenExitFunction IfTrim(年度)=""ThenExitFunction IfTrim(帐套号)="" T
3、henExitFunction Setconn=NewADODB.Connection Withconn .ConnectionString="driver={SQLServer};server=U8SERVER;uid=sa;pwd=123456;database=UFDATA"&"_"&帐套号&"_"&Trim(年度) .Open 'strConn EndWith IfTrim(辅助核算方式)<>""AndTrim(辅助核算编码)=""Then qm="缺少核算编码" c
4、onn.Close Setconn=Nothing ExitFunction EndIf IfUCase(Trim(包含未记帐))="Y"Then''如果包含未记账 ''年初 csqlstr="SELECTsum((CASEWHENcbegind_c<>'贷'THENmbELSE-mbEnd))FROM" IfTrim(辅助核算方式)=""AndTrim(辅助核算编码)=""Then csqlstr=csqlstr&"gl_accsum" Else ''如果要取辅助
5、核算的数,要换一个数据库 csqlstr=csqlstr&"gl_accass" EndIf csqlstr=csqlstr&"WHEREiperiod=1andccode="&SqlStr(科目代码) '注意辅助编码若以0开头,必须加上引号 IfTrim(辅助核算方式)=""AndTrim(辅助核算编码)=""Then csqlstr=csqlstr ElseIfTrim(辅助核算方式)="客户"Then csqlstr=csqlstr&"andccus_id="&"'"&Trim(辅助核
6、算编码)&"'" ElseIfTrim(辅助核算方式)="供应商"Then csqlstr=csqlstr&"andcsup_id="&"'"&Trim(辅助核算编码)&"'" ElseIfTrim(辅助核算方式)="个人"Then csqlstr=csqlstr&"andcperson_id="&"'"&Trim(辅助核算编码)&"'" ElseIfTrim(辅助核算方式)="项目"Then csqlstr=csqlstr&"andcitem_id="&"'"&Trim(辅助核算编码)&"'"
7、 EndIf Setrst=NewADODB.Recordset Withrst .ActiveConnection=conn .Opencsqlstr EndWith IfIsNumeric(rst.Fields(0).Value)=TrueThen IfLeft(Trim(科目代码),1)<>"2"AndLeft(Trim(科目代码),1)<>"3"Then qm=rst.Fields(0).Value Else qm=-rst.Fie
8、lds(0).Value EndIf EndIf Setrst=Nothing ''+发生 csqlstr="selectsum(md-mc)FROMgl_accvouchwhereiperiod>=1andiperiod<="&月份&"ANDiflagisnullANDcco
此文档下载收益归作者所有