管理信息系统课程设计医药管理信息系统

管理信息系统课程设计医药管理信息系统

ID:82591658

大小:1.04 MB

页数:65页

时间:2023-07-14

上传者:胜利的果实
管理信息系统课程设计医药管理信息系统_第1页
管理信息系统课程设计医药管理信息系统_第2页
管理信息系统课程设计医药管理信息系统_第3页
管理信息系统课程设计医药管理信息系统_第4页
管理信息系统课程设计医药管理信息系统_第5页
管理信息系统课程设计医药管理信息系统_第6页
管理信息系统课程设计医药管理信息系统_第7页
管理信息系统课程设计医药管理信息系统_第8页
管理信息系统课程设计医药管理信息系统_第9页
管理信息系统课程设计医药管理信息系统_第10页
资源描述:

《管理信息系统课程设计医药管理信息系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

管理信息系统课程设计医药管理信息系统652020年4月19日

1文档仅供参考,不当之处,请联系改正。目录一、项目说明…………………………………………………………2二、系统分析…………………………………………………………4三、系统设计…………………………………………………………5四、程序设计…………………………………………………………14五、系统测试…………………………………………………………37六、设计总结…………………………………………………………38七、参考文献、致谢………………………………………………39652020年4月19日

2文档仅供参考,不当之处,请联系改正。医药销售系统课程设计报告一、项目说明(一)项目背景随着中国经济的快速发展,医药生产企业迫切需要采用新的销售管理方法来加强内部医药代表管理和客户管理,高效的处理销售业务,掌握销售状况,降低运作成本。同时医药代表也希望有方便实用的工具,以便进行各类数据的查询,管理以及提交。以往的医药信息管理系统由于技术的限制,已经无法适应医药的发展。因此开发新的医药系统迫在眉睫。医药销售管理系统用于管理与药品相关的信息与活动,但不包括产品信息、库存数据与销售活动。使用了基于VisualFoxPro技术为系统奠定了安全、稳定、高效、炫丽的技术基础。给公司提供方便,稳定的服务。(二)使用环境652020年4月19日

3文档仅供参考,不当之处,请联系改正。医药企业的市场营销环境是一个复杂的系统工程,它由相互作用、互相依赖的若干要素组成。一般能够分为内部和外部或宏观和微观两个方面。现分别介绍如下。(1)宏观营销环境:医药企业宏观营销环境,是指影响企业生产经营的经济环境、科技环境、政治法律环境、社会文化环境和自然环境等要素(详细内容参阅本章余下内容)。它们共同组成了企业生产经营的制约力量,具体地规定或引导企业生产什么、生产多少、如何生产、如何销售等。用在一般意义上说,这是企业不可控制的因素,只能顺应它、利用它,而较少地能够改变它。这几个方面的内容各自又可细分为若干个子项目,也都会直接或间接、有形或无形地影响着企业的生产经营活动。因此,医药企业在进行市场营销环境分析时,首先应对外部宏观环境进行科学严谨的调查研究,以期把不利变为有利,使其营销活动完全符合环境的要求。(2)微观营销环境:医药企业市场营销微观环境是指对企业营销活动产生直接影响的介于4Ps652020年4月19日

4文档仅供参考,不当之处,请联系改正。策略与宏观环境之间的一种营销环境,它包括营销部门所在的企业、供应商、营销中介、顾客、信息、竞争者和公众等因素。一个企业能否成功地开展营销活动,不但取决于能否适应宏观环境的变化,适应和供应者环境是指那些向医药企业提供开展市场营销活动所需物资与资金的企业的状况。医药企业的营销活动,包括供、产、销各个不同环节,都需要大量的物资与资金作保证,因而需要许多部门或企业为之服务,为之供应所需的一切。一般医药企业的供应者有以下成员组成:①资源供应者。她们生产医药企业所需要的机械设备、原材料、能源及零部件等生产资源,或者提供所需的资金,并把这些资源供应给企业。②物资供应商。物资供应商即物资经营部门,她们收购生产企业生产的各种物质资料,再提供给需要这些产品的医药企业。③运输部门。她们把资源供应者生产的物资运送到物资供应商或购买的医药企业手中,也从物资供应商那里把物资运送给各个医药企业。④便利供应部门,如保险公司、咨询机构等,她们为物资的供应提供各种方便条件,共同完成向医药企业提供物资与资金方面的任务。影响微观环境的变化也是非常重要的。以下是企业微观营销环境主要内容。(三)系统设计思想652020年4月19日

5文档仅供参考,不当之处,请联系改正。本系统的设计思想是,系统采用模块化的程序设计方法,既便于系统功能的各种组合和修改,又便于管理人员的维护。系统应具备数据库维护功能,及时根据用户的需求进行数据的查询、添加、删除、修改等操作。(四)项目规划(1)分工:组长:xx,进行系统程序设计,完成连编,组织成员任务分配等系列工作。文秘:xxx,负责课程设计报告,指导成员工作,负责打印等工作。组员:xxx,负责部分表单设计,制作表格等工作。组员:xx,负责部分表单设计,制作表格等工作。(2)进度:6月5日:分配小组,组织成员,进行讨论。6月6日:到图书馆查阅资料,确定主题,并进行讨论。6月7日至8号:完成系统设计,并完成连编,成功运行系统。6月9号至10号:系统程序的检验,完成课程设计报告,并检查相关系统。652020年4月19日

6文档仅供参考,不当之处,请联系改正。二、系统分析(一)组织模块功能图医药销售系统备忘录药品出库药品入库药品出库药品入库客户信息退出系统密码管理系统管理信息管理药品管理记录查询其它供应信息(二)系统流程图652020年4月19日

7文档仅供参考,不当之处,请联系改正。客户销售部销售订单仓库提货单财务部付款单结算管理发票采购部供应商入库单入库处理存档存档采购订单发货单库存状态缺货单发货处理领药单仓库存档入库单二、系统设计(一)数据库的设计652020年4月19日

8文档仅供参考,不当之处,请联系改正。在创立应用系统之前,必须先考虑与数据有关的一些问题。比如系统需要使用和处理哪些数据,这些数据组织成几个表才方便程序的设计和用户的使用,每个表需要设计哪些字段合适,每个字段应该定义成什么数据类型,需要建立哪些索引才便于操作等等。本系统共设计了7个表,分别是、药品信息表(yaopinxinxi)、客户信息表(kehuxinxi)、供应商表(gongyingshang)、备忘录信息表(beiwangluxinxi)、药品入库信息表(rukuxinxi)和药品出库信息表(chukuxinxi)。用户密码表(pass)数据库7个表的结构分别如下:药品信息表字段名字段类型宽度标题ypbh字符型4药品编号ypmch字符型16药品名称jj货币型8进价shj货币型8售价pfj货币型8批发价zhl字符型8质量shl整型4数量jyy字符型8检验员yply字符型14药品来源lxr字符型8联系人yxrq日期型8有效日期jhrq日期时间型8进货日期客户信息表字段名字段类型宽度标题bh整型4编号xm字符型8姓名dh字符型20电话dzh字符型20地址yx字符型24邮箱zhl字符型8质量652020年4月19日

9文档仅供参考,不当之处,请联系改正。供应商表字段名字段类型宽度标题bh字符型4编号gsmch字符型16公司名称dh字符型30电话dzh字符型30地址wzh字符型24网址jyyl字符型20经营药类备忘录信息表字段名字段类型宽度标题xh字符型4序号nr字符型254内容zdsj字符型30电话dzh日期型8制定时间zdr字符型10制定人药品入库信息表字段名字段类型宽度标题ypbh字符型4药品编号ypmch字符型16药品名称jj货币型8进价shj货币型8售价pfj货币型8批发价zhl字符型8质量shl整型4数量jyy字符型8检验员yply字符型14药品来源lxr字符型8联系人jhrq日期时间型8进货日期药品出库信息表字段名字段类型宽度标题ypbh字符型4药品编号ypmch字符型16药品名称shj货币型8售价shl数值型6数量khlb字符型6客户类别652020年4月19日

10文档仅供参考,不当之处,请联系改正。khmch字符型1客户名称yfje货币型8应付金额shfe货币型8实付金额zhb货币型8找补xshrq日期时间型8销售日期用户密码表字段名字段类型宽度标题yhm字符型10用户名yhmm字符型10用户密码yhlx字符型10用户类型选择系统菜单中“数据库”菜单下的“新建表…”选项建立新的数据库后,“新建表”对话框中单击“新建表”按钮,按照如上分别建立这7个数据表。数据表都建立完成后,截图如下:(二)创立主程序打开mis项目文件,在“项目管理器-mis”窗口中,单击“代码”选项卡,选中“程序”项,单击项目管理器窗口右边的“新建”652020年4月19日

11文档仅供参考,不当之处,请联系改正。按钮。就可在新弹出的程序代码编辑窗口中输入程序的以下代码内容,保存即可。publicbwlbwl=substr(alltrim(sys(5)+curdir()),1,len(alltrim(sys(5)+curdir()))-1)setdefaultto&bwlSetpathtoforms;progs;reports;menus;data;graphics;graphics\pic;graphics\icosetexactonsetconfirmoffsetescapeonsetsafetyonsetstatusoffsetscoreboardoffsetdecimalsto3settalkoffsetsysformatsonsetcenturyonsetdatetoansizoomwindowscreenmaxcloseallreleasewindow常见setsysmenuto652020年4月19日

12文档仅供参考,不当之处,请联系改正。_screen.caption="欢迎使用医药营销系统"_screen.picture="14.jpg"_screen.minbutton=.f._screen.maxbutton=.f._screen.controlbox=.f.doformfm.scxreadeven(三)Fm.scx系统密码验证主表单设计控件设置:(1)表单的“Load”代码:publicca,cb,cc&&设置全局变量,记录RGB()函数的自变量的值ca=0cb=0652020年4月19日

13文档仅供参考,不当之处,请联系改正。cc=0(2)表单的“Unload”代码:releaseca,cb,cc&&释放全局变量标签主要属性设置Label1Label2Label3Label4Label5Caption医药销售系统欢迎使用用户名称:用户密码:开发设计:工商管理⒁小组 Ver1.006月AutoSize.T..T..T..T..T.BackStyle0-透明0-透明0-透明0-透明0-透明FontBold.T..T..T..T..T.文本框的主要属性设置AlignmentEnabledFontSizeHeightLeftPasswordCharText10-左.T.1226224Text20-左.T.1226224*命令按钮的主要属性设置AutoSizeCancelCaptionDefaultFontSizeHeightWidthCommand1.F..F.确定.T.183079Command2.F..T.取消.F.183079(1)“确定”按钮的“Click”事件代码如下:publicyhkl,yhname652020年4月19日

14文档仅供参考,不当之处,请联系改正。&&定义全局变量,记录登录用户的名称和密码,以便系统分配用户权限yhkl=alltrim(thisform.text2.value)&&保存用户输入的名称和密码yhname=alltrim(thisform.text1.value)usepass&&打开保存已注册用户的用户名和密码的表文件*以下代码是检验用户名称和密码locaallforlower(alltrim(yhm))=lower(alltrim(yhname))ifeof()*不是合法注册用户,给出警告=messagebox('你不是合法注册用户!',0,'真遗憾')returnthisform.text1.setfocuselse*用户名正确,再检验用户密码lsyhlx=alltrim(yhlx)iflower(alltrim(yhmm))=lower(alltrim(yhkl))usethisform.releasesetdeleonsetnotifyoffsetcenton652020年4月19日

15文档仅供参考,不当之处,请联系改正。setdatetoansicloseallRELEASEWINDOW常见MODIFYWINDOWSCREENTITLE"医药销售系统ver1.0登录用户:"+yhname+"("+lsyhlx+")"+"今天是:"+dtoc(date())_SCREEN.ICON="face05.ico"_SCREEN.picture="pc1.jpg"ZOOMWINDOWSCREENMAX_SCREEN.controlbox=.f.domainmenu.mpr&&当用户名和密码都正确时,关闭当前表单,运行主菜单进行系统else*不是合法注册用户,给出警告=messagebox('密码不正确,请你再好好想想!',0,'真遗憾')returnthisform.text2.setfocusendifEndif652020年4月19日

16文档仅供参考,不当之处,请联系改正。(2)“取消”按钮的“Click”事件代码如下:thisform.releaseclearevenQuit(3)“计时器”控件Interval属性为100。“Timer”代码如下:ifca<255ca=ca+1elseca=90endififcb<255cb=cb+1elsecb=180endififcc<255cc=cc+1elsecc=1endifIfThisform.Label2.left>thisform.width652020年4月19日

17文档仅供参考,不当之处,请联系改正。thisform.label2.forecolor=rgb(ca,cb,cc)Thisform.Label2.left=-199thisform.label2.left=Thisform.Label2.left+10Elsethisform.label2.forecolor=rgb(ca,cb,cc)Thisform.Label2.left=Thisform.Label2.left+10EndIfIfThisform.Label5.Left<=-394Thisform.Label5.Left=thisform.widthThisform.Label5.Left=Thisform.Label5.Left-10ElseThisform.Label5.Left=Thisform.Label5.Left-10EndIfThisform.refresh(三)系统菜单的设计652020年4月19日

18文档仅供参考,不当之处,请联系改正。(1)“系统管理”子菜单编辑为“密码管理”、“\-”“退出系统”①“密码管理”的过程代码:setdeleondeleallforlen(alltrim(yhm))=0locaallforalltrim(yhm)=alltrim(yhname)ifalltrim(yhlx)="系统管理员"usedoformmmglelsenAnswer=messagebox('很抱歉!您不是系统管理员无权查阅和更改用户名和密码!',0,'警告!')usereturnEndif②“退出系统”的过程代码:ans=messagebox("确信要退出系统吗?",4,"确认信息")ifans=6closeallcleareventquitelse652020年4月19日

19文档仅供参考,不当之处,请联系改正。returnEndif(2)“信息操作管理”子菜单编辑为“客户信息管理”和“供应商信息管理”①“客户信息管理”的过程代码:usekehuxinxipackusedoformkehu②“供应商信息管理”的过程代码:usegongyingshangpackusedoformgys(3)“药品管理”子菜单编辑为“药品入库管理”和“药品出库管理”①“药品入库管理”的过程代码:userukuxinxipackusedoformyprk②“药品出库管理”的过程代码:652020年4月19日

20文档仅供参考,不当之处,请联系改正。usechukuxinxipackusedoformypck(4)“记录查询”子菜单编辑为“药品入库查询”和“药品出库查询”①“药品入库查询”的过程代码:userukuxinxipackusedoformrkjl②“药品出库查询”的过程代码:usechukuxinxipackusedoformckjl(5)“其它”子菜单编辑为“备忘录”①“备忘录”的过程代码:usebeiwangluxinxipackusedoformbwl652020年4月19日

21文档仅供参考,不当之处,请联系改正。二、程序设计本系统除去主表单设计外,内容表单分别有密码管理表单、客户信息表单、供应商表单、药品入库表单、药品出库表单、入库记录查询表单、出库记录查询表单、备忘录表单等8个项目表单。其主要程序设计如下:(一)Mmgl.scx密码管理表单设计(1)表单的主要属性:AutoCenter=.T.BorderStyle=“2-固定对话框”Caption=“用户密码管理”Height=299Icon=“c:\mis\graphics\ico\controlpanel.ico”MaxButton=.F.652020年4月19日

22文档仅供参考,不当之处,请联系改正。MinButton=.F.Width=582WindowState=0-普通(2)文本框的主要属性:ControlSource=“无”Enabled=.f.FontName=“宋体”FontSize=11Height=25(3)组合框的主要属性:BoundColumn=1ColumnWidths=“无”ControlSource=“无”Enabled=.f.FirstElement=1FontName=“宋体”FontSize=11Height=25Left=380ReadOnly=.f.RowSource=“系统管理员,普通用户”652020年4月19日

23文档仅供参考,不当之处,请联系改正。RowSourceType=“1-值”SelectOnEntry=.t.Style=“0-下拉组合框”Top=258Width=114(4)表格控件的主要属性:ColumnCount=3DeleteMark=.f.Enabled=.t.FontName=“宋体”FontSize=11GridLineColor=“0,0,255”GridLineWidth=1HeaderHeight=20Height=223Left=9ReadOnly=.t.RecordMark=.t.RecordSource=“pass”RecordSourceType=“1-别名”RowHeight=20Top=27652020年4月19日

24文档仅供参考,不当之处,请联系改正。Width=485(5)表单的“Init”事件代码:publicxgbzhi,recxgbzhi=.f.rec=0setdeletedonthisform.command2.enabled=.t.thisform.command1.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.command5.enabled=.t.thisform.command6.enabled=.f.thisform.command2.setfocus(6)“删除”命令按钮的“Click”事件代码:selepassifeof().or.bof()nAnswer=messagebox('你还没有选择要删除的注册用户记录!请选定一个要删除的用户!',0,'警告!')returnendif652020年4月19日

25文档仅供参考,不当之处,请联系改正。delethisform.command2.enabled=.t.thisform.command1.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.command5.enabled=.t.thisform.command6.enabled=.f.Thisform.refresh(7)“修改”命令按钮的“Click”事件代码:ifeof().or.bof()nAnswer=messagebox('你还没有选择要修改的注册用户记录!请选定一个要修改的用户!',0,'警告!')returnendifthisform.text1.enabled=.t.thisform.text2.enabled=.t.thisform.combo1.enabled=.t.thisform.command2.enabled=.f.thisform.command1.enabled=.f.thisform.command3.enabled=.f.thisform.command4.enabled=.t.652020年4月19日

26文档仅供参考,不当之处,请联系改正。thisform.command5.enabled=.t.thisform.command6.enabled=.t.thisform.grid1.enabled=.f.rec=recno()thisform.text1.value=yhmthisform.text2.value=yhmmthisform.combo1.value=yhlxxgbzhi=.t.thisform.text1.setfocus(8)“增加”命令按钮的“Click”事件代码:thisform.text1.enabled=.t.thisform.text2.enabled=.t.thisform.combo1.enabled=.t.thisform.command2.enabled=.f.thisform.command3.enabled=.f.thisform.command1.enabled=.f.thisform.command4.enabled=.t.thisform.command5.enabled=.t.thisform.command6.enabled=.t.thisform.grid1.enabled=.f.thisform.text1.value=space(20)thisform.text2.value=space(20)652020年4月19日

27文档仅供参考,不当之处,请联系改正。thisform.combo1.value="普通用户"xgbzhi=.f.rec=0thisform.text1.setfocus(9)“保存”命令按钮的“Click”事件代码:iflen(alltrim(thisform.text1.value))=0.or.len(alltrim(thisform.text2.value))=0nAnswer=messagebox('用户名、用户密码不能为空值!请再仔细检查一下!',0,'警告!')returnthisform.text1.gotfocusendififalltrim(thisform.combo1.value)!="普通用户".and.;alltrim(thisform.combo1.value)!="系统管理员"nAnswer=messagebox('用户类型只允许为“普通用户”或“系统管理员”!请再仔细检查一下!',0,'警告!')returnthisform.combo1.setfocusendifselepass652020年4月19日

28文档仅供参考,不当之处,请联系改正。deleallforlen(alltrim(yhm))=0ifxgbzhisetdeleongorecdelelocateallforalltrim(yhm)=alltrim(thisform.text1.value)if.not.eof()nAnswer=messagebox('用户名已存在!请换改用其它名字!',0,'警告!')setdeleoffgorecrecallsetdeleonreturnthisform.text1.gotfocusendifsetdeleoffgorecrecallreplyhmwithalltrim(thisform.text1.value)replyhmmwithalltrim(thisform.text2.value)652020年4月19日

29文档仅供参考,不当之处,请联系改正。replyhlxwithalltrim(thisform.combo1.value)setdeleonelselocateallforyhm=alltrim(thisform.text1.value)if.not.eof()nAnswer=messagebox('用户名已存在!请换改用其它名字!',0,'警告!')returnthisform.text1.gotfocusendifappeblankgobottreplyhmwithalltrim(thisform.text1.value)replyhmmwithalltrim(thisform.text2.value)replyhlxwithalltrim(thisform.combo1.value)endifthisform.text1.value=space(20)thisform.text2.value=space(20)thisform.combo1.value="普通用户"thisform.text1.enabled=.f.thisform.text2.enabled=.f.652020年4月19日

30文档仅供参考,不当之处,请联系改正。thisform.combo1.enabled=.f.thisform.command2.enabled=.t.thisform.command1.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.command5.enabled=.t.thisform.command6.enabled=.f.thisform.grid1.enabled=.t.Thisform.refresh(10)“取消”命令按钮的“Click”事件代码:thisform.text1.value=""thisform.text2.value=""thisform.combo1.value=""thisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.combo1.enabled=.f.thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command1.enabled=.t.thisform.command4.enabled=.f.thisform.command5.enabled=.t.thisform.grid1.enabled=.t.652020年4月19日

31文档仅供参考,不当之处,请联系改正。this.enabled=.f.thisform.text1.setfocus(11)“退出”命令按钮的“Click”事件代码:releasexgbzhi,rec(二)Kehu.scx客户信息表单设计控件设置:对象类型对象名属性设置表单Form1Caption客户信息Iconmisc28.ico.文本框Text1数据类型数值Enabled.F.-假652020年4月19日

32文档仅供参考,不当之处,请联系改正。文本框Text2数据类型字符Enabled.T.-真文本框Text3数据类型字符Enabled.T.-真文本框Text4数据类型字符Enabled.T.-真文本框Text5数据类型字符Enabled.T.-真命令按钮CmdtjCaption添加\

33文档仅供参考,不当之处,请联系改正。&&将计算出来的客户编号写到文本框Text1中ThisForm.Text2.SetFocus(2)“保存”按钮的Click事件代码:*将各个文本框中的信息存入变量中以便于操作a=ThisForm.Text1.Valueb=ThisForm.Text2.Valuec=ThisForm.Text3.Valued=ThisForm.Text4.Valuee=ThisForm.Text5.ValueInsertIntokehuxinxi(bh,xm,dh,dzh,yx)Values(a,b,c,d,e)&&将输入的信息插入表中ThisForm.Cmdtj.SetFocus&&保存完信息后使添加按钮获得焦点ThisForm.Grid1.ReFreshThisForm.Cmdbc.Enabled=.F.(3)每一个“Text”文本框的Click过程的代码:*将相关记录的信息显示在相应的文本框中ThisForm.Text1.Value=bhThisForm.Text2.Value=xmThisForm.Text3.Value=dhThisForm.Text4.Value=dzhThisForm.Text5.Value=yx652020年4月19日

34文档仅供参考,不当之处,请联系改正。ThisForm.Cmdbc.Enabled=.F.&&禁用保存按钮(4)“删除”按钮的Click事件代码:SelectkehuxinxiDeleteforbh=ThisForm.Text1.Value&&将编号为文本框Text1中内容的记录删除ThisForm.Grid1.Refresh&&刷新客户信息表ThisForm.Cmdshch.Enabled=.F.(5)“Text2”文本框的InteractivChange过程的代码:xm1=Alltrim(ThisForm.Text2.Value)SelectkehuxinxiSeekxm1OrderxmThisForm.Grid1.Refresh(三)Gys.scx供应商信息表单的设计652020年4月19日

35文档仅供参考,不当之处,请联系改正。控件设置:对象类型对象名属性设置表单Form1Caption供应商Iconhandshak.ico文本框Txtbh数据类型字符文本框Txtmch数据类型字符文本框Txtdh数据类型字符文本框Txtdzh数据类型字符文本框Txtwzh数据类型字符文本框Txtjyyl数据类型字符命令按钮CmdtjCaption添加\

36文档仅供参考,不当之处,请联系改正。RecordSourceSELECT*FROMgongyingshangINTOCURSORtempRecordSourceType4-SQL说明(1)“编号”文本框的InteractiveChang事件代码:ThisForm.Grid1.RecordSource="Select*FromgongyingshangWhere(bhlike'%'+bianhao+'%')intocursortemp"ThisForm.Grid1.Refresh(2)“公司名称”文本框的InteractiveChang事件代码:mingcheng=Alltrim(ThisForm.Txtmch.Value)ThisForm.Grid1.RecordSource="Select*FromgongyingshangWhere(gsmchlike'%'+mingcheng+'%')intocursorep"ThisForm.Grid1.Refresh(3)“添加”按钮的Click事件代码:*查询编号有无重的bianhao=Alltrim(ThisForm.Txtbh.Value)SelectgongyingshangseekbianhaoorderbhIfFound()=Messagebox("此编号已经存在,请检查!!!")ThisForm.Txtbh.Setfocus652020年4月19日

37文档仅供参考,不当之处,请联系改正。Return&&提前结束本次过程Endif*查询单位名称有无重的mingcheng=Alltrim(ThisForm.Txtmch.Value)SelectgongyingshangSeekmingchengordergsmchIfFound()=Messagebox("此公司名称已经存在,请检查!!!!")ThisForm.Txtmch.SetfocusReturn&&提前结束本次过程Endifc=ThisForm.Txtdh.Valued=ThisForm.Txtdzh.Valuee=ThisForm.Txtwzh.Valuef=ThisForm.Txtjyyl.ValueIfbianhao<>""andmingcheng<>""thenInsertintogongyingshangValues(bianhao,mingcheng,c,d,e,f)ThisForm.Txtbh.Value=""ThisForm.Txtmch.Value=""ThisForm.Txtdh.Value=""ThisForm.Txtdzh.Value=""ThisForm.Txtwzh.Value=""652020年4月19日

38文档仅供参考,不当之处,请联系改正。ThisForm.Txtjyyl.Value=""ThisForm.Grid1.Refreshelse=Messagebox("请输入编号和公司名称!!!")Endif(4)“删除”按钮的Click事件代码:Selectgongyingshangdeleteforgsmch=ThisForm.Txtmch.ValueThisForm.Txtbh.SetfocusThisForm.Txtbh.Value=""ThisForm.Txtmch.Value=""ThisForm.Txtdh.Value=""ThisForm.Txtdzh.Value=""ThisForm.Txtwzh.Value=""ThisForm.Txtjyyl.Value=""ThisForm.Refresh(5)“修改确定”按钮的Click事件代码:a=ThisForm.Txtbh.Valueb=ThisForm.Txtmch.Valuec=ThisForm.Txtdh.Valued=ThisForm.Txtdzh.Value652020年4月19日

39文档仅供参考,不当之处,请联系改正。e=ThisForm.Txtwzh.Valuef=ThisForm.Txtjyyl.ValueSelectgongyingshangIfa<>""andb<>""thenUpdategongyingshangSetbh=a,gsmch=b,dh=c,dzh=d,wzh=e,jyyl=fWherebh=aEndifThisForm.Refresh(6)“退出”按钮的Click事件代码:ThisForm.Release(7)Form1的Init过程代码:setdeleteon&&设置删除标志有效(8)Form1的Deactivate过程代码:*在关闭窗口时,将设置了逻辑删除标记的记录物理删除IfUsed("gongyingshang")ThenSelectgongyingshangUseEndifSelect0UsegongyingshangPack652020年4月19日

40文档仅供参考,不当之处,请联系改正。Use(三)Ypru.scx药品入库表单的设计控件设置:对象类型对象名属性设置表单FormlCaption药品入库Iconpoint10.ico文本框Txtbb数据类型字符文本框Txtmch数据类型字符文本框Txtqx数据类型日期文本框Txtzhl数据类型字符文本框Txtly数据类型字符文本框Txtlxr数据类型字符文本框Txtshl数据类型数值文本框Txtjj数据类型数值文本框Txtpfl数据类型数值文本框Txtshj数据类型数值组合框CombolRowsourcetype1-值Rowsource名称查询,编号查询,来源查询,检验员。联系人表格GridkcReadOnly.T.-真RecordSourceSELECT*FROMyaopinxinxiINTOCURSORtemp(1)“药品编号”文本框的InteractiveChange事件代码如下:652020年4月19日

41文档仅供参考,不当之处,请联系改正。bh=AllTrim(ThisForm.Text1.Value)&&药品库存一览表的数据源是药品信息表,查询条件能够是模糊信息,查询结果存入临时表中。ThisForm.Gridkc.RecordSource="Select*From药品信息Where(ypbhLike'%'+bh+'%')IntoCursortemp"&&其中查询语句中的“%”是通配符,代表多个字符,“%+bh+%”意思是只要条件中包含变量bh代表的信息就符合条件。Select药品信息&&选择药品信息表SeekbhOrderypbh&&查找编号按药品编号排序ThisForm.Txtmch.Value=ypmch&&输入编号时,对应的名称出现在Txtmch中ThisForm.Gridkc.Refresh&&表格刷新(2)“模糊查询”中“输入关键字”文本框InteractiveChange事件的代码:bltj=AllTrim(ThisForm.Text13.Value)DoCaseCaseThisForm.Combo1.Value=1ThisForm.Gridkc.RecordSource="Select*From药品信息Where(ypmchLike'%'+bltj+'%')IntoCursortp"652020年4月19日

42文档仅供参考,不当之处,请联系改正。Select药品信息SeekbltjOrderypmchCaseThisForm.Combo1.Value=2ThisForm.Gridkc.RecordSource="Select*From药品信息Where(ypbhLike'%'+bltj+'%')IntoCursortp"Select药品信息SeekbltjOrderypbhCaseThisForm.Combo1.Value=3ThisForm.Gridkc.RecordSource="Select*From药品信息Where(yplyLike'%'+bltj+'%')IntoCursortp"Select药品信息SeekbltjOrderyplyCaseThisForm.Combo1.Value=4ThisForm.Gridkc.RecordSource="Select*From药品信息Where(jyyLike'%'+bltj+'%')IntoCursortp"Select药品信息SeekbltjOrderjyyCaseThisForm.Combo1.Value=5ThisForm.Gridkc.RecordSource="Select*From药品信息Where(lxr652020年4月19日

43文档仅供参考,不当之处,请联系改正。Like'%'+bltj+'%')IntoCursortp"Select药品信息SeekbltjOrderlxrENDCASEThisForm.Gridkc.Refresh(3)“保存”按钮Click事件的代码如下:blbh=ThisForm.Txtbh.Valueblmch=ThisForm.Txtmch.Valueblqx=ThisForm.Txtqx.Valueblzhl=ThisForm.Txtzhl.Valueblly=ThisForm.Txtly.Valuebllxr=ThisForm.Txtlxr.Valueblshl=ThisForm.Txtshl.Valuebljj=NTOM(ThisForm.Txtjj.Value)&&函数ntom()是将数字格式转换成货币格式blpfj=NTOM(ThisForm.Txtpfj.Value)blshj=NTOM(ThisForm.Txtshj.Value)InsertIntorukujilu(ypbh,ypmch,yply,lxr,jhrq,zhl,shl,jj,pfj,shj)values(blbh,blmch,blly,bllxr,DATETIME(),blzhl,blshl,bljj,blpfj,blshj)&&将信息写入入库记录中Select药品信息&&选择表药品信息652020年4月19日

44文档仅供参考,不当之处,请联系改正。SeekblbhOrderypbh&&查找药品编号的值,如果找到,说明表中有此药品编号的相应信息,没找到则说明此药品编号是新药品编号。IfFound()&&如果找到此药品编号,则更新相关记录信息Update药品信息Setypmch=blmch,shl=blshl+shl,jhrq=datetime(),yply=blly,yxrq=blqx,zhl=blzhl,lxr=bllxr,jj=bljj,shj=blshj,pfj=blpfjWhereypbh=blbhElse&&如果没有找到此药品编号,则插入相关记录信息InsertInto药品信息(ypbh,ypmch,yply,lxr,jhrq,yxrq,zhl,shl,jj,pfj,shj)Values(blbh,blmch,blly,bllxr,DATETIME(),blqx,blzhl,blshl,bljj,blpfj,blshj)EndifThisForm.Txtbh.InteractiveChange()&&方便查询核对输入信息ThisForm.RefreshThisForm.Gridkc.RefreshThisForm.command2.enabled=.F.&&保存按钮再次设置为不可用(4)单击Grid控件时的相关代码放到了对象Grid的Text1的Gotfocus过程中,相关代码如下:Select药品信息ThisForm.Txtbh.Value=ypbh652020年4月19日

45文档仅供参考,不当之处,请联系改正。ThisForm.Txtmch.Value=ypmchThisForm.Txtqx.Value=yxrqThisForm.Txtjj.Value=jjThisForm.Txtshj.Value=shjThisForm.Txtpfj.Value=pfjThisForm.Txtly.Value=yplyThisForm.Txtlxr.Value=lxrThisForm.Txtzhl.Value=zhlThisForm.Txtshl.Value=shl(5)“退出”按钮的代码如下:ThisForm.Release(三)Ypck.scx药品出库表单的设计652020年4月19日

46文档仅供参考,不当之处,请联系改正。控件设置:对象类型对象名属性设置表单FormlCaption出库IconFolder05.ico文本框Txtchkbh数据类型字符Enabled.F.-假文本框Txtkhbh数据类型字符Enabled.T.-真文本框Txtkhmch数据类型字符Enabled.T.-真文本框Txtypbh数据类型字符652020年4月19日

47文档仅供参考,不当之处,请联系改正。Enabled.T.-真文本框Txtypmch数据类型字符Enabled.F.-假文本框Txtshl数据类型数值Enabled.T.-真文本框Txtshj数据类型数值Enabled..F.-假文本框Txtyshk数据类型数值Enabled.T.-真文本框Txtshshk数据类型数值Enabled.T.-真文本框Txtzhk数据类型数值Enabled.T.-真文本框Txtzhb数据类型数值Enabled.T.-真文本框Txtqk数据类型数值Enabled.F.-假组合框CombolRowSourceType1-值RowSource001,002…命令按钮CmdxchkCaption新出库命令按钮CmdqdCaption确定命令按钮CmdkhzlCaption客户资料命令按钮CmddyCaption结算打印表格GridlReadOniy.T.真RecordSourceSELECTypbh,ypmch,jj,shj,pfj,shl,yplyFROMyaopinxinxiINTOCURSORtempRecordSoureType4-SQL说明表格Grid2ReadOnly.T.-真RecordSourceChukuxinxiRecordSourceType4-SQL说明(1)“客户编号”文本框InteractiveChange事件的代码:chxbh=Alltrim(ThisForm.Txtkhbh.Value)IfnotUsed("kehuxinxi")Then&&如果表“kehuxinxi”没有打开,则打开652020年4月19日

48文档仅供参考,不当之处,请联系改正。Select0UsekehuxinxiEndifSelectkehuxinxiSeekchxbhOrderbhThisForm.Txtkhxm.Value=xm&&将搜索到的客户姓名显示出来SelectkehuxinxiUse(2)“药品编号”文本框InteractiveChange事件的代码:chxbh=AllTrim(ThisForm.Txtypbh.Value)ThisForm.Grid1.RecordSource="Selectypbh,ypmch,jj,shj,pfj,shl,yplyFrom药品信息Whereypbh=chxbhintocursortemp"Select药品信息SeekchxbhOrderypbhThisForm.Txtypmch.Value=ypmchThisForm.Txtshj.Value=shjshengyushuliang=shlThisForm.Txtshl.Value=0(3)“数量”文本框LostFocus事件的代码:Select药品信息shuliang=ThisForm.Txtshl.Value652020年4月19日

49文档仅供参考,不当之处,请联系改正。shoujia=ThisForm.Txtshj.ValueIfshuliang>shengyushuliang=Messagebox("数量不足")Endif(4)“实付金额”文本框InteractiveChange事件的代码:ThisForm.Txtzhb.Value=ThisForm.Txtshshk.Value-ThisForm.Txtyshk.Value*ThisForm.Txtzhk.Value(5)“折扣”文本框InteractiveChange事件的代码:ThisForm.Txtzhb.Value=ThisForm.Txtshshk.Value-ThisForm.Txtyshk.Value*ThisForm.Txtzhk.Value(6)“新出库”按钮Click事件的代码:riqi=DTOS(DATE())SelectdistinctchkbhFromchukuxinxiWhereSUBSTR([chkbh],1,8)=ALLTRIM(riqi)intocursortempxchk0Selecttempxchk0ListSelectCOUNT(*)asshumuFromtempxchk0INTOCURSORtempxchkSelecttempxchkList652020年4月19日

50文档仅供参考,不当之处,请联系改正。Ifshumu=0thenshumubianhao='01'ElseIfshumu<10thenshumubianhao='0'+ALLTRIM(STR(shumu+1))Elseshumubianhao=STR(shumu+1)EndifEndifThisForm.Txtchkbh.Value=riqi+ALLTRIM(shumubianhao)IfUsed("tempxchk0")thenSelecttempxchk0UseEndifIfUsed("tempxchk")thenSelecttempxchkUseEndif(7)“确定”按钮Click事件的代码:chukubh=ThisForm.Txtchkbh.Valuekehubianhao=ThisForm.Txtkhbh.Valuekehumch=ThisForm.Txtkhxm.Value652020年4月19日

51文档仅供参考,不当之处,请联系改正。caozuoyuan=ThisForm.Combo1.Valueyaopinbianhao=ThisForm.Txtypbh.Valueyaopinmch=ThisForm.Txtypmch.Valueshuliang=ThisForm.Txtshl.Valueshoujia=ThisForm.Txtshj.Value*改写药品信息表中的库存数量Update药品信息Setshl=shl-shuliangWhereypbh=yaopinbianhao*将新出库的药品信息写入到出库信息表中InsertIntochukuxinxi(chkbh,ypbh,ypmch,shj,shl,khbh,khmch,xshrq,czy)values(chukubh,yaopinbianhao,yaopinmch,shoujia,shuliang,kehubianhao,kehumch,datetime(),caozuoyuan)ThisForm.Grid2.RecordSource="Select*FromchukuxinxiWherechkbh=chukubhintocursorchukulinshi"ThisForm.Grid1.RecordSource="Selectypbh,ypmch,jj,shj,pfj,shl,yplyFrom药品信息Whereypbh=yaopinbianhaointocursortemp"ThisForm.Grid1.RefreshThisForm.Grid2.Refreshzonghe=shoujia*shuliangThisForm.Txtyshk.Value=zonghe+ThisForm.Txtyshk.ValueThisForm.Refresh(8)“客户资料”按钮Click事件的代码:652020年4月19日

52文档仅供参考,不当之处,请联系改正。DoFormkehu(9)“结算打印”按钮Click事件的代码:ReportFormchukuPreview(三)Rkjl.scx入库记录查询表单的设计控件设置:对象类型对象名属性设置表单FormlCaption入库查询Iconexplorer.ico时间控件OleqzhzhrqBaseClass是OleContorol组合框CombolRowSource药品编号,药品名称文本框Textl数据类型字符组合框CombolRowsourceType1-值RowSource001,002…命令按钮CommandlCaption查询\

53文档仅供参考,不当之处,请联系改正。RecordSourceSELECT*FROMrukuxinxiRecordSourceType4-SQL说明(1)Form1的Init事件代码:Thisform.Oleqshrq._Value=CTOD('^'+STR(YEAR(DATE()))+'-1'+'-1')Thisform.Olezhzhrq._Value=DATE()(2)“查询”按钮Click事件的代码:yaopin=AllTrim(ThisForm.Text1.Value)DoCaseCaseThisForm.Combo1.Value==''ThisForm.Grid1.Recordsource="SELECT*FROMchukuxinxiWherexshrqbetweenThisForm.Oleqshrq._ValueandThisForm.Olezhzhrq._Valueintocursortemp"CaseThisForm.Combo1.Value=='药品编号'ThisForm.Grid1.Recordsource="SELECT*FROMchukuxinxiWhere(xshrqbetweenThisForm.Oleqshrq._ValueandThisForm.Olezhzhrq._Value)and(ypbhlike'%'+yaopin+'%')intocursortemp"CaseThisForm.Combo1.Value=='药品名称'ThisForm.Grid1.Recordsource="SELECT*FROMchukuxinxiWhere(xshrqbetween652020年4月19日

54文档仅供参考,不当之处,请联系改正。ThisForm.Oleqshrq._ValueandThisForm.Olezhzhrq._Value)and(ypmchlike'%'+yaopin+'%')intocursortemp"endcaseThisForm.Refresh(3)“退出”按钮Click事件的代码:ThisForm.Release(三)Ckjl.scx出库记录查询表单的设计控件设置:652020年4月19日

55文档仅供参考,不当之处,请联系改正。对象类型对象名属性设置表单FormlCaption出库查询组合框CombolRowSource药品编号,药品名称文本框Textl数据类型字符组合框CombolRowsourceType1-值RowSource001,002…命令按钮CommandlCaption查询\

56文档仅供参考,不当之处,请联系改正。ThisForm.Grid1.Recordsource="SELECT*FROMchukuxinxiWhere(xshrqbetweenThisForm.Oleqshrq._ValueandThisForm.Olezhzhrq._Value)and(ypbhlike'%'+yaopin+'%')intocursortemp"CaseThisForm.Combo1.Value=='药品名称'ThisForm.Grid1.Recordsource="SELECT*FROMchukuxinxiWhere(xshrqbetweenThisForm.Oleqshrq._ValueandThisForm.Olezhzhrq._Value)and(ypmchlike'%'+yaopin+'%')intocursortemp"endcaseThisForm.Refresh(3)“退出”按钮Click事件的代码:ThisForm.Release(三)Bwl.scx备忘录表单的设计652020年4月19日

57文档仅供参考,不当之处,请联系改正。控件设置:对象类型对象名属性设置表单FormlCaption备忘录IconCrdfle13.ico文本框Textl数据类型字符Enabled.F.-假表格Grid1ReadOnly.T.-真RecordSourcebeiwangluxinxiRecordSourceTypeI-别名DeleteMark.F.-假命令按钮Command1Caption制定备忘录命令按钮Command2Caption删除备忘录Enabled.F.-假命令按钮Command3Caption修改备忘录Enabled.F.-假命令按钮Command4Caption保存备忘录命令按钮Command5Caption退出【ESC】Cancel.T.-真652020年4月19日

58文档仅供参考,不当之处,请联系改正。(1)全局变量bwl,为布尔型,在主程序中定义,初值为真。bwl为真表示备忘录为新制定,为假表示备忘录为修改过的。(2)制定备忘录ThisForm.Text1.enabled=.T.&&点击制定备忘录按钮,文本框Text1可用ThisForm.Text1.Value=""&&使Text1的值为空beiwanglu=.T.&&beiwanglu为真表示备忘录为新制定(3)删除备忘录在备忘录表格中双击要删除的记录,则【删除备忘录】按钮可用,其中代码如下:Delete&&删除当前记录ThisForm.commAND2.Enabled=.F.&&删除完成再次变为不可用状态ThisForm.Refresh(4)修改备忘录在备忘录表格中双击要删除的记录,则“删除备忘录”按钮变为可用状态,其中代码如下:ThisForm.Text1.Enabled=.T.&&文本框Text1可用652020年4月19日

59文档仅供参考,不当之处,请联系改正。beiwanglu=.F.&&beiwanglu为假表示对现有备忘录进行修改(5)保存备忘录neirong=ThisForm.Text1.ValueSelectbeiwangluxinxiIfbeiwanglu&&如果beiwanglu为真,则执行制定备忘录的相关操作InsertIntobeiwangluxinxi(nr,zdsj,zdr)Values(neirong,DATETIME(),[ren])Else&&如果为假,则执行修改备忘录的相关操作ReplacenrWithneirong,zdsjWithDATETIME()ThisForm.command3.Enabled=.F.&&再次使修改按钮改回不可用状态EndIfThisForm.Grid1.Refresh(6)Grid控件的相关操作Grid1的Text1的gotfocus过程中对应的相关代码如下:SelectbeiwangluxinxiThisForm.Text1.Value=nr&&使选中记录的备忘信息显示在文本框中Grid1的Text1的Dblclick过程中对应的相关代码如下:ThisForm.command2.Enabled=.T.ThisForm.command3.Enabled=.T.652020年4月19日

60文档仅供参考,不当之处,请联系改正。五、系统测试所有表单程序制作完成后,就需要进行系统测试,以进行系统对项目的整体性能测试,对系统程序错误进行修改。测试系统是否完善。(一)测试方法(1)打开“项目管理器”对话框。(2)单击“连编”按钮,弹出“连编选项”对话框。(3)在“连编选项”对话框的“操作”栏中选择“连编可执行文件”单选钮。在“选项”栏中选择“重新编译全部文件”和“显示错误”。(4)单击“确定”按钮,并在“另存为”对话框中输入生成文件的文件名:医药管理系统.EXE,完成连编。如果连编出现错误,可根据错误提示逐步改正错误。重复以上过程即可。(5)连编获得成功后,可在“项目管理器”中选择主程序,选择运行。或找到连编后的文件医药管理系统.EXE,系统运行检查各表单运行状况。(二)测试结果652020年4月19日

61文档仅供参考,不当之处,请联系改正。医药管理系统.EXE能够成功运行,各表单程序能够运转,无表单代码错误。医药销售系统设计制作成功!一、设计总结药品在人们平常生活中是不可缺少的,如何能够处理好药品的信息,及时了解各种药品的需求就尤关重要,因此药品管理系统能够良好的满足的大众对药品的了解和需求,提高大家的生活效率,具有良好的可推广性。VisualFoxPro是一门面向对象的语言,能够对公司的具体要求抽象话,使程序更加通俗易懂,结合当今主流的三大框架,使程序具有良好的可拓展性和阅读性,而且经过对权限的处理,对用户不同的需求给予不同的权利,良好的完成不同用户对药品的不同需求。经过VisualFoxPro打造的药品管理系统,能够满足大多数人对药品的了解,具有较高的价值,值得大家借鉴。在这次课程设计过程中,我首先对医药管理进行了了解,仔细分析了该管理对系统功能的要求,并根据这些功能要求对系统进行定义,确定系统必须做什么。但由于对医药管理了解不多,需求分析难免不够完善。652020年4月19日

62文档仅供参考,不当之处,请联系改正。本系统最终能够基本实现绝大多数功能,可是也有很多不足之处,如药品进库信息功能,对新进药品进行入库存储,可是由于进价跟有效期的变化不能只是对该药品的库存量更改。进价能够运用加成定价法更改。在这次课程设计中虽然遇到过很多的困难,但我从中学到了很多有用的知识,经过不断的翻阅资料,各个问题的解决使我对系统的设计越来越感兴趣。相信我从这次课程设计所学到的东西能够让我在以后的学习及工作中受益无限。经过本次实习,我们对管理信息系统有了深刻的了解,我们从中得出了一些经验,要学好管理信息系统,我们应该从这几个方面考虑:掌握信息管理和信息系统的基本理论基本知识;掌握管理信息系统的分析方法、设计方法和实现技术;具有信息组织、分析研究、传播与开发利用的基本能力;具有综合运用所学知识分析和解决问题的基本能力;了解相关领域的发展动态;掌握文献检索、资料查询、收集的基本方法,具有一定的科研和实际工作能力。通俗地讲,就是从信息中发掘财富。经过学习,一方面,我们锻炼了自己的能力,在实践中成长,另一方面,提高了我们自身的素质,让我们收获了不少知识,学到了很多课本上学不到的东西,提高了我们的实际操作能力。七、参考文献、致谢(一)参考文献:VisualFoxPro程序设计教程宋秀芹主编国防工业出版社(二)致谢:652020年4月19日

63文档仅供参考,不当之处,请联系改正。经过这周的学习,我要以下老师和同学表示我的谢意。首先感谢我的指导教师梅益军老师。感激她在我整个课程设计的过程中给予的指导和帮助,并时刻向我提出最宝贵的意见,让我能够顺利完成这次的设计和报告。然后我要谢谢我的合作伙伴,十分感谢她们与我友善合作,我们一起努力地做实验操作和课程设计,让我感受到了团结的力量,不论何时,我们都应该团结合作,这样我们才能够有效率的做事,做出更好的东西。感谢学校和老师给了我们这个机会,让我们从中学到很多的知识,真是受益匪浅。经济管理学院课程设计鉴定表652020年4月19日

64文档仅供参考,不当之处,请联系改正。自我鉴定:学生签名:日期:指导老师意见:指导老师签名:日期:等级评定:评定内容平时成绩(30%)报告文体规范(10%)报告内容(60%)总评(等级)成绩老师签名:日期:652020年4月19日

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭