已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
进销存管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日29摘要【摘要】进销存管理系统是专为大中型企业的产品分销体系建立的电子商务应用系统。是面向一种异地分布式的企业销售管理系统,支持供需链管理的计划和控制系统。通常情况下进销存管理系统平台包括三级子系统,即下级分销商管理系统、分公司管理系统和总公司管理系统。此外,分销商管理系统还实现了商品库存的管理。分公司管理系统为每个分公司实现了进销存管理,系统中还包括订单管理、综合查询等管理功能。【关键词】 进销存 进货 销售目录摘要1目录10 引言11 系统分析21.1 需求分析21.2 可行性分析22 总体设计22.1 项目规划22.2 功能框图33 系统设计33.1 设计目标33.2 开发及运行环境43.3 逻辑结构设计44 主要功能模块设计54.1 主窗体设计54.2 基础窗体创建94.3 数据模块设计94.4 库存商品模块设计124.5 商品基本信息模块设计154.6 进货单录入模块设计17附录A 参考文献28附录B 数据表29附录C 文件架构图360 引言随着我国经济的高速发展,中小企业在社会经济中扮演的角色越来越重要,已成为最多元化和最具创新精神的部分。但是随着企业的发展,客户的增多,企业账目混乱,库存不准,信息反馈不及时等问题也接踵而至。这些问题已成为制约中小企业发展的瓶颈,严重制约了中小企业的发展壮大。越来越多的企业经营者认识到:单纯靠对商品的占有,靠个人经验,已经很难把握市场,很难在激烈的竞争中取胜。如何借助IT手段、如何通过信息化,加强核心竞争力,实现持续发展已成为中小企业亟待解决的关键问题。我国中小企业有70%是零售企业,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用手工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。1 系统分析1.1 需求分析通过调查,要求系统需要有以下功能:q 要有良好的人机界面,并提供换肤功能。q 支持多人操作,要求有较好的权限分配功能。q 在进货、退货时存在一对多的关系,要求支持多行录入功能。q 为了方便用户查询,要求支持多条件查询。q 对于每种商品要求编号惟一,编号需要自动生成。q 支持多种报表打印。q 支持账目的详细内容浏览。1.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。本系统数据库采用目前比较流行的Microsoft SQL Server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用Delphi7,Delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发Windows应用程序。2 总体设计2.1 项目规划进销存管理系统是一个典型的数据库应用程序,由登录模块、主界面、基本信息模块、进货管理和销售管理模块、钱流管理模块、库存管理模块、查账模块、统计与分析模块、系统维护模块等组成。特规划功能模块如下:q 基本信息模块基本信息模块的主要实现库存商品、内部职员、往来单位、费用类型信息等管理。q 进货管理模块进货管理模块主要管理企业商品进货及退货信息,支持多行录入。q 销售管理模块销售管理模块主要管理企业商品销售及退货信息,支持多行录入。q 钱流管理模块钱流管理模块主要实现往来账目的录入和账目的详细信息浏览等功能。q 库存管理模块库存管理模块主要实现库存货品浏览、库存盘点、库存报警等功能。q 统计分析模块统计分析模块主要实现进货统计分析、销售统计分析和成本分析等功能。q 查账模块查账模块主要实现与供应商、代理商对账、费用管理、应收应付等功能。q 系统维护模块系统维护模块的主要实现本单位管理、操作员设置、数据的备份和还原等功能。2.2 功能框图图1 功能框图3 系统设计3.1 设计目标根据企业的需求和进销存管理的特点,该系统实施后,应达到以下目标:q 支持多行输入,自动生成编号。q 界面美观友好、信息查询灵活、方便、快捷、准确。q 强大的库存预警功能,在意外中将损失降到最低。q 提高工作效率,降低成本。q 往来账目详细浏览。q 图形化数据分析。q 对用户输入的数据进行过滤,当输入有误时提示用户。q 数据保密性强,用户对应不同的操作级别。q 系统最大限度地实现了易安装性、易维护性和易操作性。q 直接调用Word、Excel软件。q 系统运行稳定、安全可靠。3.2 开发及运行环境系统开发平台:Delphi 7.0。数据库管理系统软件:SQL Server 2000。运行平台:Windows xp/ Windows 2000。分辨率:最佳效果1024*768。3.3 逻辑结构设计本系统数据库采用SQL Server 2000数据库,数据库名称为“db_EMS”。数据库db_EMS中包含18个表。数据库中的数据表参见附录B。4 主要功能模块设计4.1 主窗体设计主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。进销存管理系统主窗体运行结果如图4所示。图4 主窗体运行的结果1设计步骤(1)运行Delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名为“F_zct”,设置窗体的Caption属性为“进销存管理系统”;BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。(2)在“Additional”组件页中点选“TActionManager”组件,添加到窗体上,命名为“ActionManage1”,双击该组件打开“动作编辑器”,选择“Toolbars”选项卡,单击【New】按钮添加“TActionToolBar”对象,命名为“ActionToolBar1”,如图5所示。图5 添加TActionToolBar对象(3)选择“Actions”选项卡,单击【New Action】按钮,添加“TAction”对象,并在“Object Inspector”窗口中设置Caption属性,如图6所示。图6 添加TAction对象(4)在窗体上点选ActionManager1组件,在“Object Inspector”窗口中,单击ActionBars属性右侧的【】按钮,弹出如图7所示的对话框。图7 菜单栏设置1(5)在弹出的对话框中点选“0-ActionBar-ActionTooBar1”,在“Object Inspector”窗口中,单击Items属性右侧的【】按钮,在弹出的对话框中,单击【Add New】按钮添加菜单项,并设置各个菜单项的Action属性,如图8所示。 图8 菜单栏设置2(6)点选各菜单项,在“Object Inspector”窗口中,单击Items属性右侧的【】按钮,在弹出的对话框中设置子菜单项。(7)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,命名为“StatusBar1”。TStatusBar组件用于显示状态信息,双击StatusBar1组件,在弹出的对话框中单击【Add New】按钮添加面板。在“Object Inspector”窗口中设置面板的Width属性和Caption属性,如图9所示。图9 面板编辑器(8)在“Standard”组件页中点选“TPanel”组件。在窗体上添加3个TPanel组件,分别命名为“Panel3”、“Panel1”、“Panel4”,分别设置其Align属性为“alTop”、“alLeft”、“alClient”。(9)在“Additional”组件页中点选“TImage”组件,分别添加到Panel3组件和Panel1组件上,并在“Object Inspector”窗口中通过Picture属性为其加载图片。当用户单击主窗体左侧的按钮时,在右则将弹出相应的功能图片。在右侧的面板中添加多个TPanel组件,并在相应的TPanel组件上添加TImage组件,并为TImage组件加载图片。(10)在“Additional”组件页中点选“TSpeedButton”组件,将TSpeedButton组件添加到图片相应的位置,设置其Flat属性为“True”;Caption属性为空。2程序相关代码在窗体的OnKeyDown事件处理过程中设置用户按下F5键时关闭窗体。代码如下:procedure TF_zct.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin F_zct.KeyPreview:=True; /设置窗体先接受键盘按下事件 if key=vk_F5 then Close;end;在窗体的OnCloseQuery事件处理过程中让用户确认是否关闭窗体。代码如下:procedure TF_zct.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin if Application.MessageBox(是否退出系统?,提示,mb_yesno)=id_no then CanClose:=False;end;在窗体右侧按钮的单击事件处理过程中,设置相应的面板在其他面板前面。代码如下:procedure TF_zct.SpeedButton1Click(Sender: TObject);begin kumanage.BringToFront; /设置面板在最前面end;在窗体右侧的功能按钮单击事件处理过程中,动态创建相应的功能窗体。动态创建“库存状况窗体”代码如下:procedure TF_zct.SpeedButton9Click(Sender: TObject);begin Application.CreateForm(TF_kczk, F_kczk); /创建窗体 F_kczk.ShowModal; /显示窗体 F_kczk.Free; /释放窗体end;在窗体的OnShow事件处理过程中,添加TCheckBox组件到面板中。指定TCheckBox组件的父对象并设置该组件的大小和位置。代码如下:with statusbar1 do begin checkbox1.Parent:=statusbar1; checkbox1.Top:=4; checkbox1.Height:=Height-4; checkbox1.Width:=75; checkbox1.Left:=Panels0.Width+Panels1.Width+Panels2.Width+10; checkbox1.Visible:=true; end;4.2 基础窗体创建创建基础窗体主要为了提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图10所示。图10 基础窗体1基础窗体设计步骤添加一个新窗体,命名为“F_base”,设置其BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。2程序相关代码在窗体的OnKeyPress事件处理过程中设置Enter键代替Tab键。代码如下:procedure TF_base.FormKeyPress(Sender: TObject; var Key: Char);begin if Key=#13 then perform(WM_NEXTDLGCTL,0,0);end;4.3 数据模块设计数据模块窗体主要功能是统一管理数据组件。数据模块如图11所示。图11 数据模块1数据模块创建(1)在Delphi中选择“File”/“New”/“Data Module”菜单项,新建一个数据模块,命名为“F_dm”。(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,命名为“ADOConnection1”。TADOConnection组件用于连接数据库,其他数据库组件通过它连接数据库。(3)点选ADOConnection1组件,在“Object Inspector”窗口中,单击ConnectionString属性右侧的【】按钮,弹出对话框,如图12所示。图12 设置连接字符串(4)单击【Build】按钮,在弹出的对话框中 “提供程序”选项卡中选择希望连接的数据所需的驱动程序,如图13所示。图13 选择驱动程序(5)选择“连接”选项卡,设置数据库连接相关设置,如图14所示。图14 数据库连接设置(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。(7)在窗体上添加TADOQuery组件和TADOCommand组件,设置它们的Connection属性为“ADOConnection1”。4.4 库存商品模块设计库存商品模块主要实现浏览、添加、修改、删除、查询、打印商品信息等功能。库存商品模块运行结果如图15所示。图15 库存商品模块运行的结果1窗体设计步骤(1)选择“File”/“New”/“Other”菜单项,打开“New Items”对话框,选择“ima”选项卡,点选“F_base”选项,以继承方式使用该窗体。单击【OK】按钮添加一个新窗体,命名为“F_kcsp”,设置Caption属性为“库存商品”。(2)在“Win32”组件页中点选“TToolBar”组件,添加到窗体上。在该组件上添加TSpeedButton组件,在“Object Inspector”窗口中通过Caption属性为其设置相应的文本,通过Glyph属性为其指定图标。右键单击TToolBar组件,在弹出的菜单中选择“New Button”菜单项,并设置其Style属性为“tbsDivider”。(3)在窗体上添加TPanel组件,命名为“Panel1”,设置Align属性为“alBottom”;Visable属性为“False”。在TPanel组件上添加TGroupBox组件,设置其Caption属性为“查询条件”。在“Standard”组件页中找到TLabel组件、TEdit组件和TComboBox组件,添加到TGroupBox组件上。点选TComboBox组件,在“Object Inspector”窗口中,单击Items属性,在弹出的对话框中添加项目,如图16所示。图16 添加项目(4)在“ADO”组件页中点选“TADOQuery”组件,添加到窗体上,命名为“ADOQuery1”。在“Data Access”组件页中点选“TDataSource”组件,添加到窗体上,命名为“DataSource1”。设置ADOQuery1组件的Connection属性为“F_dm.ADOConnection1”;设置DataSource1组件的DataSet属性为“ADOQuery1”。(5)在“Data Controls”组件页中点选“TDBGrid”组件,添加到窗体上,命名为“DBGrid1”,设置其Align属性为“alClient”;DataSource属性为“DataSource1”,双击DBGrid1组件,在弹出的列编辑器中设置字段标题,如图17所示。 图17 为TDBGrid组件设置列标题(6)在“Rave”组件页中点选“TRvDataSetConnection”组件、“TRvProject”组件,添加到窗体上,分别命名为“RvDataSetConnection1”、“RvProject1”,设置RvDataSetConnection1组件的DataSet属性为“ADOQuery1”。设置RvProject1组件的ProjectFile属性为制作的报表文件。2程序相关代码在窗体的OnShow事件处理过程中打开库存商品表。代码如下:procedure TF_kcsp.FormShow(Sender: TObject);begin inherited; /由于窗体是继承自基窗体该代码自动生成。意为调用父类的同名方法。 change:=False; with adoquery1 do begin Close; SQL.Clear; SQL.Add(Select * from tb_stock order by tradecode asc); /排序 Open; end;end;在【添加】按钮的单击事件处理过程中动态创建添加库存商品基本信息窗体。代码如下:procedure TF_kcsp.SpeedButton4Click(Sender: TObject);begin inherited; /调用父类的同名方法 Application.CreateForm(TF_sbjbcx, F_sbjbcx); /创建窗体 F_sbjbcx.ShowModal; /显示窗体 F_sbjbcx.Free; /释放窗体end;在【删除】按钮的单击事件处理过程中当用户确认删除后删除数据。代码如下:procedure TF_kcsp.SpeedButton2Click(Sender: TObject);begin inherited; /调用父类的同名方法 try if Application.MessageBox(是否删除当前记录?,提示,mb_yesno)=id_yes then Adoquery1.Delete; except Application.MessageBox(不能删除,提示,mb_yesno); end;end;在【查询】按钮的单击事件处理过程中动态设置查询条件。代码如下:procedure TF_kcsp.SpeedButton1Click(Sender: TObject);var searchwhat:string;begin inherited; /调用父类的同名方法 Panel1.Visible:=not(Panel1.Visible); if Panel1.Visible=False then begin searchwhat:=; case combobox1.ItemIndex of /设置要查找的字段 0: searchwhat:=tradecode; 1: searchwhat:=fullnamed; 2: searchwhat:=name; 3: searchwhat:=shortcode; end; try with ADoquery1 do begin Close; SQL.Clear; SQL.Add(select * from tb_stock ); /写SQL语句 SQL.Add(where +searchwhat+ like :a order by tradecode); parameters.ParamByName(a).Value:=%+Trim(Edit1.Text)+%; open; end; if Application.MessageBox(是否刷新表?,提示,mb_yesno)=Id_yes then with ADoquery1 do begin Close; SQL.Clear; SQL.Add(select * from tb_stock order by tradecode); /刷新 open; end; except Application.MessageBox(请正确输入条件,提示,mb_ok); end; end;end;在【打印】按钮的单击事件处理过程中指定报表文件、预览报表。代码如下:procedure TF_kcsp.SpeedButton6Click(Sender: TObject);begin inherited; /调用父类的同名方法 /指定报表文件 Rvproject1.ProjectFile:=ExtractFilePath(Application.ExeName)+stockprint.rav; RvProject1.Execute; /预览报表end;4.5 商品基本信息模块设计商品基本信息模块主要功能是录入商品基本信息,便于其他窗体使用,在该模块中可以设置商品的报警上下限。商品基本信息模块运行结果如图18所示。图18 商品基本信息模块运行的结果1窗体设计步骤(1)从基础窗体继承一个窗体,命名为“F_sbjbcx”,设置其Caption属性为“商品基本信息”。(2)在“Additional”组件页中点选“TBevel”组件,为每一类数据添加边框。(3)在“Additional”组件页中点选“TGroupBox”组件,添加到窗体上,命名为“GroupBox1”,设置其Caption属性为“输入报警值-请输入大于0的数 0为不报警”。在GroupBox1组件上添加2个TLabel组件和2个TEdit组件。分别设置TLabel组件的Caption属性为“商品报警上限:”、“商品报警下限:”。(4)在窗体上添加TLabel组件和TEdit组件,在“Additional”组件页中点选“TBitBtn”组件,添加到窗体上,分别命名为“BitBtn1”、“BitBtn2”,设置BitBtn1组件的Caption属性为“保存”,通过Glyph属性为其指定图标。设置BitBtn2组件的Caption属性为“退出”,通过Glyph属性为其指定图标。2程序相关代码在窗体的OnShow事件处理过程中如果为修改,将要修改的记录显示在窗体的编辑框中。代码如下:procedure TF_sbjbcx.FormShow(Sender: TObject);begin inherited; /调用父类的同名方法 try if F_kcsp.change=True then /判断是否为修改 with F_kcsp.ADOQuery1 do begin Edit1.Text:=fieldbyname(fullnamed).AsString; Edit2.Text:=fieldbyname(tradecode).AsString; Edit3.Text:=fieldbyname(name).AsString; Edit4.Text:=fieldbyname(type).AsString; Edit5.Text:=fieldbyname(standard).AsString; Edit6.Text:=fieldbyname(unit).AsString; Edit7.Text:=fieldbyname(produce).AsString; Edit8.Text:=fieldbyname(provideinf).AsString; Edit9.Text:=fieldbyname(memo).AsString; Edit10.Text:=inttostr(fieldbyname(upperlimit).AsInteger); Edit11.Text:=inttostr(fieldbyname(lowerlimit).AsInteger); end else begin F_kcsp.getspbh(sender); /如果为添加操作调用过程getspbh得到编号 Edit2.Text:=F_kcsp.spbh; end; except end;end;调用getspbh过程得到商品编号。getspbh过程完整代码如下:procedure TF_kcsp.getspbh(sender:Tobject); /得到商品编号begin adoquery1.Last; if adoquery1.RecordCount=0 then spbh:=T+formatfloat(00000,1) /格式化编号 else spbh:=T+Formatfloat(00000,strtoint(copy(adoquery1.Fields0.AsString,2,5)+1);end;4.6 进货单录入模块设计进货单录入窗体主要功能是录入进货的相关信息,在该模块中支持多行录入,可以调用其他信息提示窗体。进货单录入模块运行结果如图19所示。图19 进货单录入模块运行的结果1窗体设计步骤(1)从基础窗体继承一个窗体,命名为“F_jhd”,设置其Caption属性为“进货单录入”。(2)在窗体上添加TLabel组件、TEdit组件、TDateTimePicker组件,用于输入信息。在“Additional”组件页中点选“TStringGrid”组件,添加到窗体上,命名为“StringGrid1”。设置StringGrid1组件的RowCount属性为“10”;ColCount属性为“10”。(3)在窗体上添加TSpeedButton组件,通过Glyph属性为其指定图标。添加TBitBtn组件,用于完成“保存”、“取消”功能。(4)在窗体上添加TPanel组件,命名为“Panel1”,设置其Caption属性为空。用于显示统计应付金额。(5)在窗体上添加TADOQuery组件,命名为“ADOQuery1”,设置其Connection属性为“F_dm.ADOConnection1”。2程序相关代码在窗体的OnShow事件处理过程中初始化相关信息。代码如下:procedure TF_jhd.FormShow(Sender: TObject);begin inherited; F_zct.wf:=1; /窗体标记 DateTimePicker1.Date:=now(); /初始化为当天日期 with F_jhd.StringGrid1 do /设置列标题 begin Cells1,0:=商品编号; Cells2,0:=商品全称; Cells3,0:=商品型号; Cells4,0:=商品规格; Cells5,0:=单位; Cells6,0:=产地; Cells7,0:=数量; Cells8,0:=进货价; Cells9,0:=金额; end; with adoquery1 do begin close; SQl.Clear; SQl.Add(select * from tb_warehouse_main); Open; end; F_jhd.getspbh(sender); /调用过程getspbh取得编号 Edit2.Text:=spbh;end;双击TStringGrid组件左侧的按钮动态创建信息提示窗体。代码如下:procedure TF_jhd.SpeedButton3Click(Sender: TObject);begin inherited; /调用父类的同名方法 Application.CreateForm(TF_kcspxz, F_kcspxz); F_kcspxz.ShowModal; F_kcspxz.Free;end;在弹出的信息提示窗体的【确定】按钮单击事件处理过程中将数据添加到TStringGrid组件中。代码如下:if F_zct.wf=1 then /往进货单录入窗体添加数据 begin for xh:=1 to F_jhd.StringGrid1.RowCount do begin if Trim(F_jhd.StringGrid1.Cells1,xh)= then /查找第几行为空 begin grow:=xh; break; end; end; for xh:=0 to adoquery1.FieldCount-12 do /将数据库的数据读出 begin gcol:=xh; if xh=2 then gcol:=gcol+1; F_jhd.StringGrid1.Cellsxh+1,grow:=adoquery1.Fieldsgcol.Value; /将数据添加到单元格中 end; F_jhd.StringGrid1.Cells8,grow:=adoquery1.Fields8.Value; F_jhd.StringGrid1.SetFocus; F_jhd.StringGrid1.Col:=7; F_jhd.StringGrid1.Row:=grow; end;在【保存】按钮的单击事件处理过程中,首先启动事务,然后对相关表进行操作,如果成功,提交事务,否则回滚事务。代码如下:procedure TF_jhd.BitBtn1Click(Sender: TObject);var gcol,grow,xhjc:integer; ave:string; /age加权平均价begin inherited; if (Trim(Edit3.Text)=) or (Trim(Edit4.Text)=) or (Trim(Edit6.Text)=) or (stringgrid1.Cells9,1=) then begin Application.MessageBox(请输入完整信息,提示,mb_ok); Exit; end; for xhjc:=1 to strdbrows do begin if (stringgrid1.Cells7,xhjc=) or (strtofloat(stringgrid1.Cells8,xhjc)=0) then begin Application.MessageBox(请输入商品数量或金额,提示,mb_ok); Exit; end; end; try F_dm.ADOConnection1.BeginTrans; /启动事务 with Adoquery1 do /将信息保存到进货主表 begin Close; SQl.Clear; SQl.Add(select * from tb_warehouse_main); open; insert; FieldByName(billdate).AsDateTime:=strtodate(formatdatetime(yyyy-mm-dd,datetimepicker1.Date); FieldByName(billcode).AsString:=Trim(Edit2.Text); FieldByName(units).AsString:=Trim(Edit3.Text); FieldByName(handle).AsString:=Trim(Edit4.Text); FieldByName(summary).AsString:=Trim(Edit5.Text); FieldByName(fullpayment).AsFloat:=strtofloat(panel1.Caption); FieldByName(payment).AsFloat:=strtofloat(format(%10.4f,strtofloat(Edit6.Text);详细代码参见光盘 post; end; end; F_dm.ADOConnection1.CommitTrans; /提交事务 Application.MessageBox(保存成功,提示,mb_ok); except F_dm.ADOConnection1.RollbackTrans; /回滚事务 Application.MessageBox(保存不成功,提示,mb_ok); end; with Adoquery1 do begin Close; SQl.Clear; SQl.Add(select * from tb_warehouse_main); Open; end; bitbtn2.OnClick(sender); /调用取消按钮清空记录 F_jhd.getspbh(sender); /得到下一单据编号 Edit2.Text:=spbh; /显示编号值end;附录A 参考文献1Visual Basic精彩编程200例 机械工业出版社赛奎春、高春艳等 2003年1月2Visual Basic数据库开发实例解析 机械工业出版社刘志铭、高春艳等 2003年8月3Visual FoxPro数据库开发实例解析 机械工业出版社王晶莹、王国辉等 2003年9月4Power Builder数据库开发实例解析 机械工业出版社华传铭、张振坤等 2003年9月5Delphi数据库开发实例解析 机械工业出版社 赛奎春、郑骁鹏等 2004年2月6PowerBuilder 精彩编程200例 机械工业出版社 张振坤、李文立等2004年9月7Visual FoxPro 精彩编程200例 机械工业出版社 王国辉、董韶华等 2004年9月8ASP数据库开发实例解析 机械工业出版社 李严、于亚芳、王国辉2004年12月9Delphi工程应用与项目实践 机械工业出版社 宋坤、赵智勇等 2005年1月10Visual Basic工程应用与项目实践 机械工业出版社高春艳、李俊民等 2005年1月11Visual C工程应用与项目实践 机械工业出版社张雨、阮伟良等 5005年1月12JSP工程应用与项目实践 机械工业出版社 陈威、白伟明、李楠2005年2月13ASP工程应用与项目实践 机械工业出版社 王国辉、牛强、李南南2005年4月14Visual Basic 信息系统开发实例精选 机械工业出版社高春艳、李俊民、张耀庭等2005年7月15ASP 信息系统开发实例精选 机械工业出版社 王国辉、牛强、李南南等 2005年7月16Delphi 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005年7月17Visual foxpro数据库开发关键技术与实例应用 人民邮电出版社 周桓、张雨、王国辉 2004年5月18PoweBuilder数据库开发关键技术与实例应用 人民邮电出版社 刘志铭 张振坤 冯文萃 2004年5月19Delphi数据库开发关键技术与实例应用 人民邮电出版社 赛奎春 陈紫鸿 宋昆 2004年5月20Visual basic数据库开发关键技术与实例应用 人民邮电出版社 高春艳、李艳 2004年5月21Visual C+ 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月22Visual Basic 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月23PowerBuilder 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月24Visual FoxPro管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月25SQL Server数据库开发实例解析 机械工业出版社 宋昆、李严等 2006年1月26Access数据库开发实例解析 机械工业出版社 李俊民、高春燕等 2006年1月附录B 数据表(1)职员信息表(tb_employ)职员信息表用来保存职员信息。职员信息表的结构如表B.1所示。表B.1 职员信息表结构字段名称字段类型字段大小主键否功能描述employecodeVarchar6职员编号fullnameVarchar20是职员全称nameVarchar20职员简称sexVarchar2性别departmentVarchar20所在部门telVarchar20联系电话memoVarchar40备注shortcodeVarchar10拼音简码(2)进货主表(tb_warehouse_main)进货主表用来保存进货中主要和相同的信息。进货主表的结构如表B.2所示。表B.2 进货主表结构字段名称字段类型字段大小主键否功能描述Billdatedatetime8录单日期Billcodevarchar20是单据编号Unitsvarchar20供货单位Handlevarchar20经手人Summaryvarchar100摘要Fullpaymentfloat8应付金额Paymentfloat8实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外立面修复施工方案(3篇)
- 戈壁绿化滴灌施工方案(3篇)
- 蛹虫草营销方案(3篇)
- 种植基质沙土施工方案(3篇)
- 深市2009年A股上市公司内部控制缺陷披露:影响因素与市场反应的深度剖析
- 深圳PD外贸公司发展战略研究:基于内外部环境的深度剖析与策略构建
- 深入剖析IMS中RTP脆弱性利用方法及防御策略
- 淮南市银行外汇监管:问题剖析与优化路径探究
- 淋巴上皮瘤样癌:多维度解析其临床特征与预后关联
- 液态丁腈橡胶增韧环氧树脂复合体系的性能与应用研究
- 国家义务教育质量监测八年级劳动素养试题
- 2026年湖南有色新田岭钨业有限公司招聘备考题库及答案详解
- 2026年北京市西城区高三一模英语试卷(含答案)
- 初中化学常见的家庭小实验
- 金龙鱼胡姬花食用油小红书投放方案
- 2026年增值税章节测试题及答案
- 第3课 一切靠劳动 第2课时 课件+视频 2025-2026学年道德与法治三年级下册统编版
- 洁净区在线悬浮粒子知识
- (2026年)护理交接班制度课件
- 公路机电安全培训课件
- 蜜芽罐用于外感咳嗽课件
评论
0/150
提交评论