做工资模块的时候,公式设定问题

lijian260 2008-03-10 11:16:08
做工资模块的时候,公式设定问题,客户自己设定公式,例如设定基本工资:
iff(人员类别="公司管理人员" ,2500,iff(人员类别="高级管理人员" ,2200,iff( 人员类别="中级管理人员",1800,iff( 人员类别="仓库人员",800,iff( 人员类别="后勤人员",600,1500)))))

我如何 把这个公式解析出来 , 运用到程序中???求解?
...全文
274 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jouwei 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lijian260 的回复:]
应该不是这么回事,
[/Quote]??
lijian260 2008-03-13
  • 打赏
  • 举报
回复
应该不是这么回事,
jouwei 2008-03-13
  • 打赏
  • 举报
回复
不是网址,是VS2005的帮助地址。你可以goolge一下DataColumn.Expression
lijian260 2008-03-13
  • 打赏
  • 举报
回复
网址不好用呀
jouwei 2008-03-13
  • 打赏
  • 举报
回复
使用表达式列,把DataColumn.Expression设置为你的公式。
参考ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref4/html/P_System_Data_DataColumn_Expression.htm
lijian260 2008-03-13
  • 打赏
  • 举报
回复
我可能没有说明白 就是客户设定公式后我根据公式(上面的样子),自动生成 每一个人的基本工资(就是根据类别)
当然数据库表 能够是这个样式

姓名 职位 基本工资
a 高级管理人员 ?
b 中级管理人员 ?



把 基本工资通过sql 得出来 有什么方法 ???谢谢了
lijian260 2008-03-13
  • 打赏
  • 举报
回复
没有看明白
jouwei 2008-03-13
  • 打赏
  • 举报
回复
我觉得没必要转换成SQL语句。
象这样:

DataTable dt;
string sql = "select 人员类别,其他的列 from 你的表";
//填充dt
DataColumn dc=new DataColumn("公式1");
dc.DataType = System.Type.GetType("System.Int32");
dt.Columns.Add(column);
dc.Expression="iff(人员类别='公司管理人员' ,2500,iff(人员类别='高级管理人员' ,2200,iff( 人员类别='中级管理人员',1800,iff( 人员类别='仓库人员',800,iff( 人员类别='后勤人员',600,1500)))))";
//...换成单引号
foreach(DataRow dr in dt.Rows)
Consol.WriteLine(dr["公式1"].Tostring());


直接打的代码,没测试,估计要改改才能用

vrhero 2008-03-13
  • 打赏
  • 举报
回复
你给他显示个表格填多好呢...干吗要用公式?交互不友好而且多此一举...
lijian260 2008-03-13
  • 打赏
  • 举报
回复
我是想让客户自己 添加公式,然后我翻译成 sql 语句.
vrhero 2008-03-13
  • 打赏
  • 举报
回复
单独建一个人员类别表和一个工资对应表

ID Name
1 公司管理人员
2 高级管理人员
3 中级管理人员
4 仓库人员
5 后勤人员
....

ID RankID Salary
1 1 2500
2 2 2200
3 3 1800
4 4 800
5 5 600
....

能明白我的意思吧...
lijian260 2008-03-13
  • 打赏
  • 举报
回复
或着是把这个串 iff(人员类别="公司管理人员" ,2500,iff(人员类别="高级管理人员" ,2200,iff( 人员类别="中级管理人员",1800,iff( 人员类别="仓库人员",800,iff( 人员类别="后勤人员",600,1500)))))

变成:
case when 人员类别="公司管理人员" then 2500
when 人员类别="高级管理人员" then 2200
when 人员类别="中级管理人员" then 1800
when 人员类别="仓库人员" then 800
when 人员类别="后勤人员" then 600
end
如何弄?????????????????
vlsm 2008-03-11
  • 打赏
  • 举报
回复
Select 人员类别

Case 1

Return 1

Case 2

Return 2

Case 3

Return 3

Case 4

Return 4

Case 5

Return 5

End Select
lihongyue 2008-03-11
  • 打赏
  • 举报
回复
用Case when...来做。
zzy1254 2008-03-11
  • 打赏
  • 举报
回复
例:
iff( 人员类别="后勤人员",600,1500)

if 人员类别="后勤人员" then
返回 600
else
返回1500
endif


这前的以些类推
steven_srl 2008-03-11
  • 打赏
  • 举报
回复
iff是什么啊,请教
qiu5208 2008-03-10
  • 打赏
  • 举报
回复
解析公式,难度很大。
水如烟 2008-03-10
  • 打赏
  • 举报
回复
一般是在数据库里头定义
yunyun837 2008-03-10
  • 打赏
  • 举报
回复
不明白公式是什么意思
fnstpl 2008-03-10
  • 打赏
  • 举报
回复
没理解意思
加载更多回复(4)
中易通用人事工资管理系统软件是一款可以为您量身定制,打造属于自己、适合自己的人力资源管理系统!系统包括人事、考勤、工资三大模块。 中易通用人事工资管理系统软件的功能和特点 1、人力资源管理系统,包括员工招聘管理,从员工招聘申请、应聘人员履历表管理到应聘人员面试、员工试用与录用审批管理,并可以打印员工培训通知单、上岗证等单证;员工离退休审批管理、请假审批管理、员工培训、考评、奖惩、调薪等管理;员工调动支持单个调动和成批调动并提供员工调令单的打印;员工合同、员工保险管理,提供员工合同、保险到期提前提醒功能,提前提醒天数可以任意设定;提供物品管理,如劳保用品管理、办公用品管理,物品入库、物品领用、物品借用、物品归还管理,提供物品归还提前提醒功能,提前提醒天数可以任意设定。人事档案支持按部门分组管理,部门设定支持多级别,员工代码可以根据设定的编码格式自动生成,支持从Excel文档导入部门和员工信息;支持照片、证照管理,提供证照到期提前提醒功能,提前提醒天数可以任意设定;员工信息查询支持万能组合条件,支持按姓名简拼搜索;支持员工档案信息管理界面任意自由排版,自由添加新项目。 2、支持排班、自动识别班次、自由考勤、固定出勤四种考勤模式,每个员工根据性质可任选一种;支持多班次多班段,排班模式方便快速;支持打卡记录的自动导入、人工添加、修改、删除;支持日出勤数据的自动计算、人工添加、修改、删除;支持月考勤数据统计、人工添加、修改、删除;出勤数据可自动导入到发放工资表中;支持电脑考勤。 3、工资管理系统,提供多工资方案管理,每个工资方案支持50列数值型数据和10列文本型数据,支持每项工资数据从员工档案和计价计时工资模块读入;支持每项工资数据默认工资管理,支持将默认工资和历史发放工资数据复制到新发放工资数据中;支持从Excel导入工资数据;可以为工资项目设置计算公式,除了加减乘除四则运算外,计算公式支持函数处理,支持条件公式,即根据不同的条件采用不同的计算方式,自动生成个人所得税计算公式,自动校验公式的正误。支持工资表格格式调整功能,按照您的要求自定义工资表格和标题;支持扣零发放功能;提供工资条、工资表打印功能,折行工资条支持任意折行列数。 4、灵活多样的计时计件工资管理模块,系统默认提供标准的计件计时工资管理模板,支持多种计件工资,支持先录产量数据后定工资单价的一般加工制造业的工资核算模式。可根据用户需求进行自定义,工资数据管理方便快捷,月底可一次性统计读入到当月发放工资表中,可以自定义工资数据读入接口;可以根据用户需求通过二次开发添加员工绩效考核模块。 5、软件操作界面标准、统一、美观、大方,导航图呈现清晰业务流程;安全级别高,提供各种数据的保护设置,职员数据管理及查看权限、工资数据的管理与查看权限、计件工资数据查看与管理权限,可以控制每个工资项目级和每个数据字段是否可查看、可修改,通过增强权限设置可以实现部门独立化数据管理功能,提高企业数据的安全性和保密性。任何数据提供万能查询,支持导出成Excel、Word、PDF等其它类型文档,所有基础数据支持从Excel导入,使初始化工作轻松快速。 6、架构于公司自主研发的开发平台之上,使系统拥有高度的灵活性与可扩充性,借助开发平台可以自定义系统中的任何数据甚至进行二次开发;可以根据需要配置相应的WEB应用模块!利用开发平台可以调整和添加各种表单单证,如调整员工档案表项目,如添加员工职称评定记录、员工工伤记录单等;可以自定义员工招聘审批流程、调整和添加自定义报表、任何打印格式,甚至导航图菜单、界面皮肤;利用丰富的脚本代码可以实现用户个性化细节要求;系统功能之强大、设置之灵活,可以真正打造一套适合于你、属于你的人事工资管理系统。 7、使用目前主流开发技术之一.Net技术开发而成,使用稳定高效的大型数据库Microsoft SQL Server数据库; 安装简单方便,完整安装包实现自动安装MSSQL数据库服务并配置和建立数据库;系统在线免费升级,升级快速方便;QQ售前售后服务及技术支持,实时快速为您解决难题。 8、先试用,试用过程提供免费技术支持和设置,满意后再购买进行注册;人事模块、考勤模块工资模块可独立购买,降低用户投入;试用版可直接升级为正式版;单机版可直接升级为网络版;网络版,不限站点。 中易通用人事工资管理系统软件截图
工资管理系统 1、系统功能的基本要求:  员工每个工种基本工资设定  加班津贴管理,根据加班时间和类型给予不同的加班津贴;  按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;  员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;  企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印; 2、数据库要求:在数据库中至少应该包含下列数据表:  员工考勤情况表;  员工工种情况表,反映员工的工种、等级,基本工资等信息;  员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;  员工基本信息表  员工月工资表。 3、本课题设计的基本要求: (1) 必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供); (2) 程序设计的报告:包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段) (3) 系统的源程序,包括数据库脚本程序。
会计核算软件是专门用于会计核算工作的电子计算机应用软件,包括采用各种计算机语言编制的用于会计核算工作的计算机程序,从而替代人工,实现会计核算任务。 会计核算系统是以账务处理功能为核心,包括多种功能的有机组合体。大部分的会计核算软件将会计核算系统按功能划分为若干个相对独立的子系统,于系统每一部分的功能简单明了并相对独立,各子系统的会计信息相互传递与交流。形成完整的会计核算系统。会计核算软件中具备相对独立地完成会计数据输入、处理和输出功能的各个部分,称之为会计核算软件的功能模块。 会计核算软件的功能模块包括以下部分:   (1)账务处理模块   账务处理模块主要是以会计凭证为原始数据,按会计科目,统计指标体系对记账凭证所载的经济内容,进行记录、分类、计算、加工、汇总,输出总分类账、明细分类账、日记账及其他辅助账簿、凭证和报表。 账务处理模块主要包括:①账务初始(建账);②凭证处理(输入、审核、汇总);③查询;④对账;⑤结账;⑧打印输出;⑦其他辅助功能。   账务初始是根据程序要求和内部管理需要自定义会计科目体系、记账凭证格式、账簿体系的过程。相当于手工状态下设立一套新的账务核算体系,是用计算机建账的过程。   凭证处理包括凭证的输入、修改、审核、汇总、打印等内容。   查询是设定查询条件标志,灵活迅速查询某会计期间的会计凭证及有关明细分类账、总账的有关内容。例如:寻找特定内容的会计凭证,查找会计科目的发生额或余额等。   对账功能一部分是由会计核算软件在设计时由程序自动检查核对,如总账、明细账、日记账之间的账账核对;另一部分则提供给用户进行核对,如与银行对账单核对,与往来账核对,与其他辅助账核对等,并能出调节表等相关资料。   结账功能由程序完成,按国家会计制度规定,按会计科目分级进行计算、汇总,结出借贷发生额和余额,结束当期核算,开始下一个会计核算循环。结账还包括会计信息跨年度结转,开始一个新的会计年度的特殊内容。   打印输出功能是打印记账凭证、账簿等会计信息资料,以便用户使用和归档保管。   (2)报表处理模块   报表处理模块是按国家统一的会计制度规定,根据会计资料而编制会计报表,向公司管理者和政府部门提供财务报告。会计报表按其汇编范围可分为个别报表、汇总报表以及合并报表。   报表处理模块包括:①报表定义;②报表计算;③报表汇总;④报表查询;⑤报表输出。 报表定义是依据会计软件,建立一个新的报表体系所的工作。主要包括:定义报表名称,描述空白表格的格式,定义报表项目填写内容的数据来源和报表项目及运算关系,确定表格项目审核校验及报表间项目的勾稽关系,检查公式以及汇总报表的汇总范围等步骤。   经过报表定义之后,就可以按规定计算或汇总产生所需要的会计报表,通过审核校验确认后,可以打印、复制、查询,输出会计报表。   (3)固定资产核算模块   固定资产核算模块主要是用于固定资产明细核算及管理。   固定资产核算模块包括:①建立固定资产卡片;②建立固定资产账簿;③录入固定资产变动情况;④计提固定资产折旧;⑤汇总计算;⑥查询及打印输出;⑦编制转账凭证。   此模块主要是根据财务制度的规定,建立固定资产卡片,确定固定资产计提折旧的系数、方法,录入固定资产增减变动情况,汇总计算固定资产原值、累计折旧及净值。按预先设计自动编制转账分录,完成转账的记录,打印输出固定资产明细账和资料卡片,详细反映固定资产价值状况。   (4)工资核算模块   工资核算模块以计提发放职工个人工资的原始数据为基础,计算职工工资,处理工资核算。   工资核算模块包括:①设计工资项目及项目计算公式;②录入职工工资基础资料;③增减变动及修改;④计算汇总;⑤查询;⑥打印输出。 工资核算模块,首先设计工资的项目及项目计算公式,按项目录入职工应发、扣减、实发金额,按使用者的要求计算配发不同面值的零、整钱数。   该模块应具备自行定义工资的项目,选择分类方式,灵活修订工资项目,调整职工个人基础资料,定义工资计算公式(如代扣个人所得税计算公式)进行汇总计算。自动制作转账凭证,填制分录,进行工资分配,计算工资福利费。   (5)其他模块   其他模块主要包括:存货核算,成本核算系统,应收应付款核算、销售核算和财务分析等等。根据行业的特点,又有:零售业进销存核算系统、批发业进销存核算系统等。根据管理的需要,又有:劳资人事管理系统、国有资产管理系统等。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧