全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创VBA自定义用友报表函数2008-09-17 13:15分类:VBA学习 字号: 大大 中中 小小 取科目的期末值,支持未记账取数和辅助核算,熟悉VBA设计和用友数据库结构的网友可据此开发出更多实用的报表函数。我将其命名为UfoInExcel程序,意思是在Excel中可以像UFO一样取数,而实用性更胜于UFO,因为Excel的优越性地球人都知道。Function qm(科目代码, 月份, Optional 年度 As String, Optional 帐套号 As String, Optional 包含未记帐 As String = Y, Optional 辅助核算方式 As String, Optional 辅助核算编码 As String)If 年度 Year(Date) Then Exit FunctionIf 年度 = Year(Date) And 月份 = Month(Date) Then Exit FunctionDim csqlstr As String qm = 0 If Trim(科目代码) = Then Exit Function If Trim(月份) = Then Exit Function If Trim(年度) = Then Exit Function If Trim(帐套号) = Then Exit Function Set conn = New ADODB.Connection With conn .ConnectionString = driver=SQL Server;server=U8SERVER;uid=sa;pwd=123456;database=UFDATA & _ & 帐套号 & _ & Trim(年度) .Open strConn End With If Trim(辅助核算方式) And Trim(辅助核算编码) = Then qm = 缺少核算编码 conn.Close Set conn = Nothing Exit Function End If If UCase(Trim(包含未记帐) = Y Then 如果包含未记账 年初 csqlstr = SELECT sum(CASE WHEN cbegind_c贷 THEN mb ELSE -mb End) FROM If Trim(辅助核算方式) = And Trim(辅助核算编码) = Then csqlstr = csqlstr & gl_accsum Else 如果要取辅助核算的数,要换一个数据库 csqlstr = csqlstr & gl_accass End If csqlstr = csqlstr & WHERE iperiod = 1 and ccode = & SqlStr(科目代码) 注意辅助编码若以0开头,必须加上引号 If Trim(辅助核算方式) = And Trim(辅助核算编码) = Then csqlstr = csqlstr ElseIf Trim(辅助核算方式) = 客户 Then csqlstr = csqlstr & and ccus_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 供应商 Then csqlstr = csqlstr & and csup_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 个人 Then csqlstr = csqlstr & and cperson_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 项目 Then csqlstr = csqlstr & and citem_id= & & Trim(辅助核算编码) & End If Set rst = New ADODB.Recordset With rst .ActiveConnection = conn .Open csqlstr End With If IsNumeric(rst.Fields(0).Value) = True Then If Left(Trim(科目代码), 1) 2 And Left(Trim(科目代码), 1) 3 Then qm = rst.Fields(0).Value Else qm = -rst.Fields(0).Value End If End If Set rst = Nothing +发生 csqlstr = select sum(md-mc) FROM gl_accvouch where iperiod = 1 and iperiod = & 月份 & AND iflag is null AND ccode If ifbend(conn, 科目代码) = 1 Then csqlstr = csqlstr & = & SqlStr(科目代码) Else csqlstr = csqlstr & like & SqlStr(科目代码 & %) End If 注意辅助编码若以0开头,必须加上引号 If Trim(辅助核算方式) = And Trim(辅助核算编码) = Then csqlstr = csqlstr ElseIf Trim(辅助核算方式) = 客户 Then csqlstr = csqlstr & and ccus_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 供应商 Then csqlstr = csqlstr & and csup_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 个人 Then csqlstr = csqlstr & and cperson_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 项目 Then csqlstr = csqlstr & and citem_id= & & Trim(辅助核算编码) & End If Set rst = New ADODB.Recordset With rst .ActiveConnection = conn .Open csqlstr End With If IsNumeric(rst.Fields(0).Value) = True Then If Left(Trim(科目代码), 1) 2 And Left(Trim(科目代码), 1) 3 Then qm = qm + rst.Fields(0).Value Else qm = qm - rst.Fields(0).Value End If End If Set rst = Nothing Else 如果不包含未记账 csqlstr = SELECT SUM(CASE WHEN a.cendd_c 贷 THEN a.me ELSE - a.me END) & _ AS SumVal & _ FROM code b INNER JOIN & _ gl_accass a ON b.ccode = a.ccode & _ WHERE a.iperiod = & 月份 & AND a.ccode = & SqlStr(科目代码) 注意辅助编码若以0开头,必须加上引号 If Trim(辅助核算方式) = And Trim(辅助核算编码) = Then csqlstr = csqlstr ElseIf Trim(辅助核算方式) = 客户 Then csqlstr = csqlstr & and ccus_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 供应商 Then csqlstr = csqlstr & and csup_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 个人 Then csqlstr = csqlstr & and cperson_id= & & Trim(辅助核算编码) & ElseIf Trim(辅助核算方式) = 项目 Then csqlstr = csqlstr & and citem_id= & & Trim(辅助核算编码) & End If Set rst = New ADODB.Recordset With rst .ActiveConnection = conn .Open csqlstr End With If IsNumeric(rst.Fields(0).Value) = True Then If Left
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北师大版小学一年级数学上册《一起来分类》素养导向教学设计
- 板梁底面碳纤维加固专项施工方案综述
- 八年级信息技术《口算练习器-循环结构》教案
- 初三化学单元复习深度教学案:探秘物质构成的微观本质与宏微联系
- 八年级地理上册《山河万象:中国地理纵深探究》问答式复习教案
- 初中八年级科学(浙教版):氧气的实验室制取与性质探究实验设计
- 八年级英语上册 Unit 6 跨界探索与文化解码:一场基于深度学习的阅读项目式教学设计
- 《家庭伦理与社会和谐:构建新时代美好家园》初中六年级道德与法治预习与探究案
- 初三物理家庭电路过载与安全用电的探究型教学设计
- 滨海旅游业生态修复与可持续管理:大学本科旅游管理专业三年级教案
- 合理用药考核工作制度
- 高中信息技术学业水平考试试题(含答案)
- 公司人事管理制度标准版
- 口腔门诊各项规章制度
- 虞城高中内部控制制度
- 预制管桩吊装施工方案
- 小学二年级综合实践活动(山东科技版)下册期末核心素养知识清单
- 农商银行公司治理培训
- 2025版三级医院评审标准实施细则-医疗安全指标(年度医院获得性指标)
- 医院感染管理考试试题含氯消毒剂的配置
- 电动工具安全培训课件
评论
0/150
提交评论