时间:2023-03-22 17:50:30
引言:寻求写作上的突破?我们特意为您精选了4篇电力勘测设计论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
2我院安全生产标准化建设情况
为了响应国家和中国能建集团公司的相关要求,陕西省电力设计院从业务管理和效益提升等方面着手,去年完成了安全生产标准化建设的初步策划方案,计划进行结合重点750kV和330kV输变电总承包项目进行安全生产标准化的达标评级,为未来企业评优、工程创优、单位信用评价、市场开发和重点用户安全生产管理评级提升等工作提供技术支撑。
2.1安全生产管理体系
2013年我院依据《企业安全生产标准化基本规范》、《中国能源建设集团有限公司电力工程建设项目安全生产标准化评分标准表》,在已经实施的质量、环境、职业健康安全管理体系和卓越绩效管理模式的基础上,结合我院当前安全生产工作现状和执行中的项目情况,初步策划了管理体系框架,该管理体系由13个部分组成。该管理体系覆盖陕西省电力设计院安全生产工作。同时,针对在执行的项目(拟申报评级或验收的项目),落实建设单位要求,明确作为总承包单位、设计单位需履行的安全生产职责,开展作为总承包单位、设计单位的安全生产工作,并组织或督促参建单位开展相关工作。该安全生产标准化管理体系根据我国有关法律法规的要求,针对设计、施工、总承包项目生产特点和中国人文社会特性,在这之中传承了质量标准化的好做法,应用了现代安全管理思想和科学方法,并使其与我院安全生产管理现状相适应。安全生产管理体系的建设和完善,只是在安全管理上进一步系统化、规范化和科学化,更重要的是要按文件去实施,并且要对实施的效果进行监督检查,形成监督机制,便于持之以恒。因此有必要建立完善的安全生产管理文件体系,主要包括法律法规、上级文件、标准规范、目标责任制、企业规章制度、管理方案和应急预案7个部分,覆盖了我院安全生产工作的方方面面。
2.2安全生产标准化达标评级
我院安全生产标准化工作采用PDCA动态循环的模式,评审的内容包括13个部分:①安全生产目标;②组织机构和职责;③安全生产投入;④法律法规与安全管理制度;⑤教育培训;⑥设备实施;⑦作业安全;⑧隐患排查和治理;⑨危险源辨识及重大危险源监控;⑩职业健康;应急救援;信息报送、事故报告和调查处理;绩效评定和持续改进。根据各项评审内容的不同设置了不等的分值。标准化达标评级分为一级、二级、三级,评审得分≥90分为一级,评审得分≥80分为二级,评审得分≥70分为三级,其中评审得分=(实得分/应得分)100,并由国家能源监管机构对达标评级工作进行监督管理。
文献标志码:A
文章编号:1000-8772-(2015)02-0011-02
我国工业经济经历了从计划经济转型到市场经济过程,在这个过程中解决了不少问题, 比如市场的分类和建立、物流渠道、调解机制和中介服务等。电力勘测设计行业在这个时期也经历了一个从计划到市场的过渡过程,勘测设计已经从卖方市场转变到为买方市场。
电力勘测设计市场在大发展时期很难完全走向市场化,一些设计单位仍然处于等活的状态, 其中一些部门甚至一直是上级电力公司分配设计工程的情况。但随着当前设计市场的低迷,这样的局面已经很难保持了,在供小于求的情况下,许多电力勘测设计行业加入到设计市场的竞争中来。那么为了保持盈利,电力勘测设计企业应该怎么做呢?
电力勘测设计企业在当前的市场经济条件下,要适应市场,保持盈利,作者认为可以在企业内外两方面参考下面两点措施建议。
一、建立适应当前市场经济的薪酬分配机制
电力勘测设计企业要加强内功修炼,除了改变原来传统的管理方式,完善设计程序,提高工效外,要进行薪酬分配的改革。
随着行业改革的不断深入,勘测设计单位逐渐由原来 的“纯”事业单位转为“自主经营、自负营亏”的企业化管理性质的“半”事业单位。勘测设计单位有一个共同的特点:它们都是知识密集型单位,而且其核心竞争力就是技术人才。但是,目前勘测设计单位面临着一个普遍的问题就是员工频繁流失。技术员工流失的原因,主要是受行业内外部市场环境的变化,其传统的薪酬管理模式已经显示出较大的不适应性。因此,加强薪酬管理是当前勘测设计单位长足发展所面临的一个重要课题。
薪酬管理是现代人力资源管理的重要组成部分。在员工心目中,薪酬不仅是劳动所得,它在一定程度上代表着员工的自身价值,代表单位对员工工作的认同。由此看来,勘测设计行业的发展需要建立一支素质一流、结构合理、具有竞争力的员工队伍,而最重要的保障环节就是建立起对外具有竞争力、吸引力,对内具有公平性和激励性的薪酬制度。
1. 薪酬设计的原则
薪酬设计的原则一是战略原则。设计薪酬时必须从战略的角度进行分析,必须体现单位中长期发展战略的要求。要与国家发展战略和交通建设规划结合起来。二是公平原则。这是薪酬设计的最主要原则。薪酬设计要透明、公正、公平,让单位内部员工认可。三是竞争原则。薪酬水平在市场上要有竞争力,力争不低于全国同行业、同地区分配标准,能够吸引和留住所需人才。尤其在一些关键人才的薪酬标准上应当等于或高于市场平均水平和竞争对手水平。四是激励原则。要根据员工的能力和贡献大小适当拉开收入差距,以充分调动积极性,激发核心管理人和技术骨干的工作积极性。五是合法原则。合法是建立在遵守国家相关政策、法律法规尤其税法是决不可违反的,必须严格遵守。
2. 建立薪酬分层管理
薪酬分层管理设想根据工作内容、工作职责、任职资格等方面的不同要求,将岗位分为:管理、技术、后勤服务三大类。对于设计院领导层宜采用年薪制,由月基薪和年终风险收入组成,其绩效考核指标包括单位的年产值、资金回收率、利润率、中标率、精品项目个数、客户满意度等。对专业技术人员采用绩效工资制,由基本工资、项目奖金、年终效益奖和福利等组成,其绩效指标除产值指标外,还包括设计质量、技术创新数量、论文的数量和后期服务质量等。对后勤服务人员宜采用岗位工资制,由基本工资、月绩效工资、年终效益奖金以及福利等组成,绩效指标主要是岗位职责履行情况,包括计划工作完成率、工作态度、内部满意度等方面。无论是何种岗位的人员,都应结合工作要求,使每个员工都能承担起职务工作责任,重在贯彻公平与效率的基本原则,使通过职务工作显示出才干与业绩的人员获得更高报酬。
二、积极拓展海外市场
电力勘测设计单位要走出去,受我国电力行业结构调整的影响,近年来新开工建设规模呈逐年下降态势,国内电力设计行业生产能力过剩的局面凸显,行业竞争加剧。对此电力勘测设计行业要将目光投向海外,拓展市场空间,做国际总承包项目,寻找企业发展新的增长极。
1. 在境外市场寻求机遇
国内市场竞争加剧,电力行业建设企业寻求出路的时候,整个电力行业要注意到,随着全球经济复苏带来的潜在发展空间为企业提供了难得的发展机遇。境外市场中,亚洲、非洲等地区的发展中国家对基础设施建设存在刚性需求;东欧、拉美等新兴市场的潜力较大。而随着金融危机的影响,国际承包商普遍调整经营战略,中国企业凭借自身优势进行项目合作的机会增大。同时,与国内电力行业工程总承包开展比较薄弱的情况不同,国外电力工程总承包市场的成熟度较好,工程建设很多采用总承包模式,市场前景广阔。
2. 合作提升“双赢”砝码
勘测设计单位要进一步提高与窗口单位及发电集团开展战略合作的质量和水平,加强与窗口公司和高端客户群的密切合作和交流。比如紧密合作中国机械设备工程股份有限公司、深圳能源集团、哈尔滨电站工程有限责任公司等重点窗口单位举办技术合作交流会等活动,在海外电力市场开发过程中各方应紧密合作,充分利用各自的优势,选定目标市场,进行重点开发,形成强有力的竞争力,以获得更大的市场份额,实现双赢。同时,需加强对目标市场的前瞻性研究,对重点技术课题进行重点开发、共同拥有知识产权,形成核心竞争力。交流与研讨,更密切了合作关系。
3. 以客户为本提供高效服务
为服务好客户,设计行业在“走出去”项目成功经验的基础上,使用并总结出一套行之有效的生产组织方式。比如:同一个国家项目开发和执行尽量采用同一个生产、经营团队;经营丰富的老员工和年轻员工在同一个项目上采用双主设人制度;在外部技术方案评审和重要会议之前,请所有参建过以往该国家项目的设计人和工代一起参与院内评审和讨论;注重对项目所在国家各方面情况的总结,包括建筑材料、风土人情等资料;收集国外标准,并采用“走出去、请进来”的方法消化、吸收并用于具体工程,使之转化为生产力。
在项目实施过程中,注重利用技术手段,为客户提供高效服务。比如,在项目执行过程中,优质的工代服务是确保设计意图正确实施的重要措施,也是控制工程工期和造价的重要环节。除了采用常规的工代现场服务、现场巡查等方式外,还利用信息化手段,采用远程视频实现院内和国外现场的及时沟通,指导问题的处理。
4. 发挥以设计为龙头的总包优势
通过设计优化,降低了工程造价成本。通过运用三维设计手段,精细化设计,消除碰撞、优化管道,使采购与供货一次到位;在满足合同与强条的基础上,优化设计,节约了总承包商成本。通过将设计部纳入项目部管理,在土建施工图出版前,设计与项目组矩阵集中;将设计作为采购的全过程技术支持;推行精细化三维设计与项目材料采购管理软件融合使用等介入,实现设计与采购深度交叉融合。同时通过设计与调试的深度交叉工作,开展项目系统运行说明书的相关工作,适应项目进入调试阶段的要求。
现场项目管理方面,可以将设计工代纳入项目现场部的统一管理,编制工地服务计划,将主要专业主设人派往工地做设计工代参与现场项目管理,及时解决设计方案与施工过程中出现的问题,保证施工符合设计技术要求,同时便于设计人员熟悉施工工艺,促进设计水平的提高。
5. 多途径有效控制风险
风险是影响海外项目成败的关键因素之一。为了将风险降低到最低,要建立一套比较全面的海外项目风险控制体系。在国外市场调查中,通过各种有效途径了解、掌握工程建设原材料市场的价格涨跌幅度和趋势,当地的人工价格水平、在项目报价时规避风险;重视国外工程项目信息收集、筛选,了解当地金融、法律、工程建设规范要求和劳工政策;积极与国内一些有国外市场开发和项目实施经验的单位沟通,吸取经验和教训;咨询驻外使馆商务参赞,了解项目所在国的各种环境影响因素;在前期项目开展过程中,认真听取律师的反馈意见;积极与银行、外贸公司等相关单位联系,听取他们的建议;同时,还认真听取院内设计部门涉外项目经验人员的意见,做到充分利用各方资源,降低项目风险。
三、结语
电力勘测设计市场是不断变化的,所以电力勘测设计企业要与时俱进,不能拘泥于传统的设计模式,要不断调整经营思路,做出最适合当前市场形势的改革,才是当前市场经济条件下电力勘测设计企业的经营之道。
参考文献:
1 前言
自2003年中国地质学会工程地质专业委员会发起建立“全国工程地质专家库”以来,得到全国各界工程地质(含岩土工程和地质工程相关专业)行业高科技人员的积极响应,已经收到420余份反馈回来的专家登记表,均已录入数据库。“全国工程地质专家库”已初具规模,从针对服务的行业来说,包括水利电力、铁路交通、矿山和工业民用建筑等;从专业领域来说,包括工程地质勘察、岩土工程施工、地质灾害研究等;从遍及的单位来说,包括高等院校、科研院所、各部委直属勘测设计院和公司等一百多家;从职称分布来说,包括工程院院士、勘察大师、教授级高级工程师、高级工程师、教授、副教授、研究员、副研究员等;从工作职务来说,包括院长、副院长、总工程师、副总工程师、经理、校长、系主任等。
入库的单位及其人数情况:北京国电华北电力工程有限公司14人;长安大学地质工程与测绘工程学院11人;成都理工大学环境与土木工程学院12人;国家电力公司成都勘测设计研究院43人;国家电力公司贵阳勘测设计研究院15人;国家电力公司昆明勘测设计研究院39人;建设综合勘察研究设计院11人;水利部天津水利水电勘测设计研究院11人;中国科学院地质与地球物理研究所17人;中航勘察设计研究院39人(这里只列出了10人以上的单位)。
2 软件功能
2.1 基本功能
① 显示工程地质(地质工程、岩土工程及相关专业)专家基本信息,包括姓名、性别、出生年月、技术职称、工作职务、工作单位、单位性质、联系方式。 ② 显示专家专业特长,工作领域。 ③ 打印专家表。 ④ 按照入库序号、姓名和工作单位排序,方便检索。 ⑤ 可随时登记入库。
2.2 查询
按照姓名、出生年月、工作单位、单位性质、技术职称、专业特长、工作领域等单个字段查询,查询的结果可显示专家基本信息、专业特长和工作领域,打印专家表。
2.3 高级查询
多个字段的组合条件查询,查询结果可制作报表。
2.4 数据库维护
数据库管理员能够轻松完成数据库的日常维护工作,如添加、删除、查询等。
专家库可用于人事档案管理、查找工程咨询专家、聘请工程项目评审专家、查找稿件评阅人、聘任学位论文审阅人等。
3 系统界面及功能模块
3.1 主界面
全国工程地质专家库系统主界面如图1所示。界面包括菜单区、查询区、信息管理区和信息显示区。菜单包括记录、查询、管理员和帮助等项。查询区包括单个字段的简单查询和高级查询按钮。信息管理区由基本资料、专业特长、工作领域、备注、全表浏览、打印、退出按钮组成,点选不同的按钮,信息显示区将显示不同的信息。
3.2 高级查询界面
点击主界面窗口中查询区的高级查询按钮会弹出高级查询窗口,如图2所示。通过该窗口可生成查询条件、选择结果中要显示的字段、选择排序字段、选择组合查询条件,并执行查询。查询结果由查询结果窗口(图3)显示出来。
3.3 查询结果窗口
点击高级查询窗口中的开始查询按钮就可弹出查询结果窗口。查询结果窗口左上部分显示符合查询条件的记录,右上部分是打印全部结果按钮和打印选中结果按钮。下部是选中专家的详细信息,当点选左上部的不同专家,其详细信息会改变。
3.4 查询结果报表打印窗口
点击查询结果窗口中的打印全部结果按钮将弹出查询结果报表打印窗口,如图4所示。上部是打印按钮、导出按钮和缩放比例下拉列表框,中间是报表显示区,下部是页码显示和翻页按钮。
3.5 选中结果报表打印窗口
点击主界面信息管理区打印按钮和查询结果窗口中的打印选中结果按钮将弹出选中专家资料报表打印窗口,如图5所示。
3.6 数据库管理员界面
点击主界面管理员菜单下的管理员登陆菜单项后,弹出管理员登陆对话框(图6),输入帐号和密码后,点击确定按钮进入数据库管理员界面(图7)。
数据库管理员界面由菜单、工具按钮、专家信息编辑区和全表数据浏览和编辑区组成。工具按钮包括移动记录、添加、删除等按钮组成,专家信息编辑区用来编辑专家信息,全表数据浏览、编辑区浏览和编辑数据库记录。
4 工程地质专家库系统开发
4.1 数据库
(1)信息来源
通过学术会议、信件和网上下载(见/xwdt-040106.htm)等途径分发“全国工程地质专家库专家登记表”,收集反馈回来的原始登记表,录入数据库中。
(2)创建数据库
在microsoft office access软件中建立专家数据库。数据库中包括的字段有:姓名、性别、出生年月、工作单位、技术职称、工作职务、专家特长、工作领域、通信地址、邮政编码、联系电话、传真和电子邮箱等,基本涵盖了专家的基本信息、特长、工作领域和联系方式。
(3)数据录入
数据录入方式有两种方式: ① 在access中录入; ② 数据维护方式,即在数据库管理员界面中输入数据。
所有专家的信息存储在一个数据表中,每位专家的信息在数据表中表现为一条记录。
4.2 系统功能的代码实现
采用microsoft visual basic 6.0作为开发工具,运用其集成开发环境和快速应用程序开发技术,根据软件的功能模块分别创建程序界面和窗口(图1-图7)。开发过程中使用了ado data控件、datagrid控件、dataenviornment设计器、data report设计器等。
下面着重叙述高级查询的实现。在高级查询窗口中,用户填写的查询条件包括查询结果中显示的字段、where子句查询条件、字段排序子句,用字符串连接生成sql查询语句。然后在专家数据表中查找符合查询条件的专家记录并在查询结果窗口中显示给用户。完成高级查询功能的程序片段如下:
private sub cmdquery_click()
dim strkey as string
dim strsql as string, strsqlall as string
dim strordersql as string
dim strorder as string
dim intlenkey as integer
dim i as integer, j as integer
'查询结果至少要显示一个字段
if lstkey.selcount = 0 then
msgbox "查询结果中至少要显示一个字段!", vbmsgboxsetforeground, "缺少字段"
exit sub
end if
if txtcondition.text = vbnullstring then
msgbox "请加入查询条件!", vbokonly + vbinformation, "提示"
exit sub
end if
'查询结果中显示的字段
strkey = vbnullstring
strkeys = vbnullstring
for i = 0 to lstkey.listcount - 1
if lstkey.selected(i) = true then
strkey = strkey & lstkey.list(i) & ","
end if
strkeys = strkeys & lstkey.list(i) & ","
next
strkey = mid(strkey, 1, len(strkey) - 1)
strkeys = mid(strkeys, 1, len(strkeys) - 1)
'where子句查询条件
strwhere = vbnullstring
if len(trim(strquerysql)) > 0 then
strwhere = " where " & trim(strquerysql)
else
strwhere = vbnullstring
end if
'字段排序字句
if lstorderkey.listcount > 0 then
mstrordersqls = ""
intlenkey = 0
for j = 0 to lstorderkey.listcount - 1
strordersql = lstorderkey.list(j)
if optorder(0).value = true then
intlenkey = instr(1, strordersql, "(升序)", vbtextcompare)
strorder = " asc"
else
intlenkey = instr(1, strordersql, "(降序)", vbtextcompare)
strorder = " desc"
end if
if intlenkey > 0 then
strordersql = mid(strordersql, 1, intlenkey - 1)
if mstrordersqls <> "" then
mstrordersqls = mstrordersqls & ","
end if
mstrordersqls = mstrordersqls & strordersql & strorder
end if
next j
mstrordersqls = " order by " & mstrordersqls
else
mstrordersqls = ""
end if
'字符串连接生成sql查询语句
strsql = "select " & strkey & " from " & " 专家库 " & strwhere & mstrordersqls
strsqlall = "select " & strkeys & " from " & " 专家库 " & strwhere & mstrordersqls
adoconnection.execute strsql
adoconnection.execute strsqlall
if err then
msgbox err.number & vbcrlf & err.description & err.source, vbcritical, "sql语句错误"
err.clear
exit sub
end if
set recresult = new adodb.recordset
set reckeyword = new adodb.recordset
frmqueryresult.strsql = strsql
frmqueryresult.strsql = strsqlall
reckeyword.open strsql, adoconnection, adopenstatic, adlockoptimistic
recresult.open strsqlall, adoconnection, adopendynamic, adlockoptimistic
if reckeyword.recordcount <= 0 then
msgbox "没有您要查找的记录!", vbinformation + vbokonly, "找不到记录"
exit sub
end if
'查询结果显示
1 前言
自2003年中国地质学会工程地质专业委员会发起建立“全国工程地质专家库”以来,得到全国各界工程地质(含岩土工程和地质工程相关专业)行业高科技人员的积极响应,已经收到420余份反馈回来的专家登记表,均已录入数据库。“全国工程地质专家库”已初具规模,从针对服务的行业来说,包括水利电力、铁路交通、矿山和工业民用建筑等;从专业领域来说,包括工程地质勘察、岩土工程施工、地质灾害研究等;从遍及的单位来说,包括高等院校、科研院所、各部委直属勘测设计院和公司等一百多家;从职称分布来说,包括工程院院士、勘察大师、教授级高级工程师、高级工程师、教授、副教授、研究员、副研究员等;从工作职务来说,包括院长、副院长、总工程师、副总工程师、经理、校长、系主任等。
入库的单位及其人数情况:北京国电华北电力工程有限公司14人;长安大学地质工程与测绘工程学院11人;成都理工大学环境与土木工程学院12人;国家电力公司成都勘测设计研究院43人;国家电力公司贵阳勘测设计研究院15人;国家电力公司昆明勘测设计研究院39人;建设综合勘察研究设计院11人;水利部天津水利水电勘测设计研究院11人;中国科学院地质与地球物理研究所17人;中航勘察设计研究院39人(这里只列出了10人以上的单位)。
2 软件功能
2.1 基本功能
① 显示工程地质(地质工程、岩土工程及相关专业)专家基本信息,包括姓名、性别、出生年月、技术职称、工作职务、工作单位、单位性质、联系方式。 ② 显示专家专业特长,工作领域。 ③ 打印专家表。 ④ 按照入库序号、姓名和工作单位排序,方便检索。 ⑤ 可随时登记入库。
2.2 查询
按照姓名、出生年月、工作单位、单位性质、技术职称、专业特长、工作领域等单个字段查询,查询的结果可显示专家基本信息、专业特长和工作领域,打印专家表。
2.3 高级查询
多个字段的组合条件查询,查询结果可制作报表。
2.4 数据库维护
数据库管理员能够轻松完成数据库的日常维护工作,如添加、删除、查询等。
专家库可用于人事档案管理、查找工程咨询专家、聘请工程项目评审专家、查找稿件评阅人、聘任学位论文审阅人等。
3 系统界面及功能模块
3.1 主界面
全国工程地质专家库系统主界面如图1所示。界面包括菜单区、查询区、信息管理区和信息显示区。菜单包括记录、查询、管理员和帮助等项。查询区包括单个字段的简单查询和高级查询按钮。信息管理区由基本资料、专业特长、工作领域、备注、全表浏览、打印、退出按钮组成,点选不同的按钮,信息显示区将显示不同的信息。
3.2 高级查询界面
点击主界面窗口中查询区的高级查询按钮会弹出高级查询窗口,如图2所示。通过该窗口可生成查询条件、选择结果中要显示的字段、选择排序字段、选择组合查询条件,并执行查询。查询结果由查询结果窗口(图3)显示出来。
3.3 查询结果窗口
点击高级查询窗口中的开始查询按钮就可弹出查询结果窗口。查询结果窗口左上部分显示符合查询条件的记录,右上部分是打印全部结果按钮和打印选中结果按钮。下部是选中专家的详细信息,当点选左上部的不同专家,其详细信息会改变。
3.4 查询结果报表打印窗口
点击查询结果窗口中的打印全部结果按钮将弹出查询结果报表打印窗口,如图4所示。上部是打印按钮、导出按钮和缩放比例下拉列表框,中间是报表显示区,下部是页码显示和翻页按钮。
3.5 选中结果报表打印窗口
点击主界面信息管理区打印按钮和查询结果窗口中的打印选中结果按钮将弹出选中专家资料报表打印窗口,如图5所示。
3.6 数据库管理员界面
点击主界面管理员菜单下的管理员登陆菜单项后,弹出管理员登陆对话框(图6),输入帐号和密码后,点击确定按钮进入数据库管理员界面(图7)。
数据库管理员界面由菜单、工具按钮、专家信息编辑区和全表数据浏览和编辑区组成。工具按钮包括移动记录、添加、删除等按钮组成,专家信息编辑区用来编辑专家信息,全表数据浏览、编辑区浏览和编辑数据库记录。
4 工程地质专家库系统开发
4.1 数据库
(1)信息来源
通过学术会议、信件和网上下载(见enggeo.org/xwdt-040106.htm)等途径分发“全国工程地质专家库专家登记表”,收集反馈回来的原始登记表,录入数据库中。
(2)创建数据库
在Microsoft Office Access软件中建立专家数据库。数据库中包括的字段有:姓名、性别、出生年月、工作单位、技术职称、工作职务、专家特长、工作领域、通信地址、邮政编码、联系电话、传真和电子邮箱等,基本涵盖了专家的基本信息、特长、工作领域和联系方式。
(3)数据录入
数据录入方式有两种方式: ① 在Access中录入; ② 数据维护方式,即在数据库管理员界面中输入数据。
所有专家的信息存储在一个数据表中,每位专家的信息在数据表中表现为一条记录。
4.2 系统功能的代码实现
采用Microsoft Visual Basic 6.0作为开发工具,运用其集成开发环境和快速应用程序开发技术,根据软件的功能模块分别创建程序界面和窗口(图1-图7)。开发过程中使用了ADO Data控件、DataGrid控件、DataEnviornment设计器、Data Report设计器等。
下面着重叙述高级查询的实现。在高级查询窗口中,用户填写的查询条件包括查询结果中显示的字段、where子句查询条件、字段排序子句,用字符串连接生成SQL查询语句。然后在专家数据表中查找符合查询条件的专家记录并在查询结果窗口中显示给用户。完成高级查询功能的程序片段如下:
Private Sub cmdQuery_Click()
Dim strKey As String
Dim strSQL As String, strsqlAll As String
Dim strOrderSQL As String
Dim strOrder As String
Dim intLenKey As Integer
Dim i As Integer, j As Integer
'查询结果至少要显示一个字段
If lstKey.SelCount = 0 Then
MsgBox "查询结果中至少要显示一个字段!", vbMsgBoxSetForeground, "缺少字段"
Exit Sub
End If
If txtCondition.Text = vbNullString Then
MsgBox "请加入查询条件!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
'查询结果中显示的字段
strKey = vbNullString
strkeys = vbNullString
For i = 0 To lstKey.ListCount - 1
If lstKey.Selected(i) = True Then
strKey = strKey & lstKey.List(i) & ","
End If
strkeys = strkeys & lstKey.List(i) & ","
Next
strKey = Mid(strKey, 1, Len(strKey) - 1)
strkeys = Mid(strkeys, 1, Len(strkeys) - 1)
'where子句查询条件
strWhere = vbNullString
If Len(Trim(strQuerySQL)) > 0 Then
strWhere = " where " & Trim(strQuerySQL)
Else
strWhere = vbNullString
End If
'字段排序字句
If lstOrderKey.ListCount > 0 Then
mstrOrderSQLs = ""
intLenKey = 0
For j = 0 To lstOrderKey.ListCount - 1
strOrderSQL = lstOrderKey.List(j)
If optOrder(0).Value = True Then
intLenKey = InStr(1, strOrderSQL, "(升序)", vbTextCompare)
strOrder = " ASC"
Else
intLenKey = InStr(1, strOrderSQL, "(降序)", vbTextCompare)
strOrder = " DESC"
End If
If intLenKey > 0 Then
strOrderSQL = Mid(strOrderSQL, 1, intLenKey - 1)
If mstrOrderSQLs "" Then
mstrOrderSQLs = mstrOrderSQLs & ","
End If
mstrOrderSQLs = mstrOrderSQLs & strOrderSQL & strOrder
End If
Next j
mstrOrderSQLs = " order by " & mstrOrderSQLs
Else
mstrOrderSQLs = ""
End If
'字符串连接生成SQL查询语句
strSQL = "select " & strKey & " from " & " 专家库 " & strWhere & mstrOrderSQLs
strsqlAll = "select " & strkeys & " from " & " 专家库 " & strWhere & mstrOrderSQLs
adoconnection.Execute strSQL
adoconnection.Execute strsqlAll
If Err Then
MsgBox Err.Number & vbCrLf & Err.Description & Err.Source, vbCritical, "SQL语句错误"
Err.Clear
Exit Sub
End If
Set recResult = New ADODB.Recordset
Set recKeyword = New ADODB.Recordset
frmQueryResult.strSQL = strSQL
frmQueryResult.strSQL = strsqlAll
recKeyword.Open strSQL, adoconnection, adOpenStatic, adLockOptimistic
recResult.Open strsqlAll, adoconnection, adOpenDynamic, adLockOptimistic
If recKeyword.RecordCount
MsgBox "没有您要查找的记录!", vbInformation + vbOKOnly, "找不到记录"
Exit Sub
End If
'查询结果显示
frmQueryResult.Show vbModal