物流单据管理系统_第1页
物流单据管理系统_第2页
物流单据管理系统_第3页
物流单据管理系统_第4页
物流单据管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物流单据管理系统一、案例预览、“开进货单”、“查看单据”等业务,运行该系统,主界面如图一所示,有“开销售单”F面按业务依次说明最后实现的程序界面和操作方法。图一单据輪吕OOC00000001 0000000002 00000000009单jg类型I录单B勵销售单£003-0-7进单2003-6-7誚售单£003-e-E客户ITI开销售单 上I弃建卷单 帀萱看单据> 退出程序(1)开销售单。单击程序主界面的【开销售单】按钮,弹出“销售单据”对话框,如 图二所示。填完单据的各项内容后,单击【保持】按钮。如果程序提示保存成功,会返回主 界面,单据列表中又增加了一张销售单据。

2、图二录单日期:£011- 6吨9二单据编导:客户:1酣加说明:银疔帐戶:仓库:1商品名珈丨单位1数量1单价1备注* 1*经手人:M1保存4退出(2)开进货单。单击程序主界面的【开进货单】按钮,弹出“进货单据”对话框,如 图三所示。开单操作和销售单类似。图三录単日期:客尸:2011- 6-29银行瞰户;单据編号'附加说明:商品名称单位数星单rr备注亠1仓库;经手人:保存 退出(3)查看单据。在主界面中,选择要查看的单据,然后单击【查看单据】按钮,弹出对应的单据,如图四所示。此时单据不能被编辑, 查看完后单击【关闭】按钮退出查看操作。图四录单日期:-0D3- 8- 7单据編昙:p

3、ooooooooT客戶:仓库:暉二裔話名称勤量11单价1盘離备淫显卡抉100500150000,000000内存100300130000.000000 1100100locoa.oooooo111鲤手人:周潇二分析与创建数据库本例采用Access 2002作为数据库,使用 ADO方式访问数据库。首先创建一个数据库,命名为“”,并且将该数据库文件放在本实例应用程序的根目录 中,便于访问。从前面的分析知道。本例需要两个数据表bill和goods。表bill用来保持单据,包括进货单据和销售单据,单据类型用一个数字类型的字段type来区分,0表示进货单,1表示销售单。表goods用来保持单据中填写的流

4、通商品,通过字段billid来对应某张单据,字段index表示在该单据中的表格位置。表结构如图五和图六所示。图五(bill表)字段名称数据类型说明id文本单据编号type数字单据类型(0=进货单,1=销售单)time日期/时间制单日期storage文本交易时使用的仓库clie nt文本交易的客户名称op erator文本经手人account文本交易时使用的银行帐户comme nt文本单据的附加说明图六(goods表)字段名称数据类型说明n ame文本商品名称un it文本商品的度量单位account数字商品数量price数字商品单价comme nt文本商品说明billid文本所在单据的编号in

5、 dex数字所处单据表格的位置索引三创建VC工程创建给予对话框的应用程序,从第二步到第六步全部采用默认方式。1、表格(Grid )控件在用VC开发关于数据库的项目时, 绍另外一个共享表格控件 时使用的就是CGridCtrl四引入控件通常使用DataGrid作为数据库表格控件。本例中介 CGridCtrl ,非常好用,也很美观,进货单据和销售单据显示商品 控件。CGridCtrl和一般的GRID的不同之处在于,一般的GRID并不适合显示大的数据量,如果一个查询结果有上万条记录的话,如果都要插入到GRID中,这将是个很慢的过程,并且在GRID中移动滚动条的话,它的记录的滚动也是很慢的。而CGrid

6、Ctrl并不会真正把这些记录的数据全部插入到控件中,当CGridCtrl的滚动条滚动时,它会根据CGridCtrl的显示面积的大小和查询得到的总的记录数计算当前应该显示哪些行,然后会把那几行的记录数据插入到表格中,这样速度当然是很快的,而且没有数据量多少的限制。将表格控件CGridCtrl引入本例工程中需要如下步骤。(1)将光盘中的相关文件拷贝到创建的工程目录下,它们位于本例工程的gridctrl_src 目录中。OK按钮,将表格控件(2) 选择菜单【P roject 】-【Add To P roject 】-【Files 】,打开 “I nsert Files into Project ”对

7、话框。选中gridctrl_src目录下的所有文件,单击【CGridCtrlDE所有相关文件都加入到工程中。为了使工作区整洁,增引入表格控件完成后,可以看到新增了数个与该控件相关的类。加一个文件夹“ grid ”,将这些新增的文件拖入其中。如下图所示:-口 fi件 + 2d button -Z3 grid七-GH-ITEW七 cemD l* CGellRange 3 CGndCell 七 CGnJCellBase 七 CGridCtrl r CGridDrcpIarget c? CInPlaceEdil 七 CkkmDf CTilleTip «tagGV_DISPINFO 七扫gN匸

8、GRID忙lEW2、位图按钮CTrackLookButton。该VC提供的默认按钮形态比较单调,这里介绍一个共享按钮控件按钮将图标和文字一起显示,并且呈flat形式。将控件CTrackLookButton引入本例工程中需要如下步骤。(1)将光盘中的文件和拷贝到创建的工程目录中。-【Files 】,打开 “1 nsert Files into(2)选择菜单【Project 】-【Add To Project Project "对话框,将文件和加入工程中。五使用ADC连接数据库(1) VC中通过在程序中使用预编译指令#im port接库引入工程中。在应用程序的文件中加入如下语句:#imp

9、ort"c:programfilescom monren ame("EOF","adoEOF")(2)在应用程序类CBillsMa nagerA PP 的头文件中分别声明一个_Co nn ectio nP tr和_RecordsetPtr类型的指针,访问类型为public。其代码如下:public:_Conn ectio nPtr m_pConnection;_Recordset Ptr m_p Recordset;来告诉编译器将此指令中指定的动态链filessystemado"no_n ames pacem_pConnection-

10、>Close();(录单日期:IJDLl- e-2(3) 在 CBillsManagerApp:1 nitlnstance()成员函数里,初始化OLE/COM库环境,创建连接对象,打开与数据源的连接,以及创建记录集对象。其代码如下:BOOL CBillsMa nagerA pp :1 nitl nsta nce()AfxE nableCo ntrolCo ntain er();#ifdef _AFXDLLreturn FALSE;En able3dCo ntrols();(4) 通过 ClassWizard 为类 CBillsManagerApp 增加 ExitInstance() 成员

11、函数,该函 数在退出系统时被调用。在其中关闭数据库连接,并且还原OLE/COM库环境。其代码如下:int CBillsMa nagerA pp:ExitI nsta nce()单据錦导:编辑雪户;報行帐户;经手人:保存退出題库;JD: IDC_GRID标题£):JCustoml两可见凹厂a回tt黄回:|uFCGridCtrl厂已禁Hlffl两制表站tffl#式圄:|ax5osioQao厂帮助I0tu扩R样式:0x0urns占醫常atontrppJffiSIDC ACCOUNT idcZbilljd IDCCLIENT IDCZCOMMENT IDC_E 乂 ITIDC 二 OPERA

12、TOR idOave IDCZSTORAGE IDC_riMEStringmstrA ccauntCStringni_strBilllDCStringmstrClieMCStringmstrCommcritCTracIcLDolcHutton ni_btExit CStringm_£trOperatDrCTrackLookButton m btSaveCString(ii_strStorageCTimem_tTimcetBufer(O) *atof( nRow,m_n PriceCol).GetBufer(O);("%f",fMo ney);(n Row,m_ n

13、Mon eyCol,str);Control JDs:Memb&rIDC_BILL_SHOW IDC_BUY_ADD IDCEXITWIINDOW idcZlistZbills IDC_SALADD5巴CTrackLoo kButto n m blStiowBill CTrackLoo kButto nuyAddCTracIcLoo kButto n in_btExilWin daw CListCtrlm_ctrlBillsLslCr rackLoo kButto n mbiSaleA dd."menu item to system menu.ASSERT(IDM_ABOUT

14、BOX & OxFFFO) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMe nu* pSysMe nu = GetSystemMe nu(FALSE); if (p SysMe nu != NULL)CStri ng strAboutMe nu;(IDS_ABOUTBOX);if (!()p SysMe nu->A ppen dMe nu(MF_SE PARATOR);p SysMe nu->A ppen dMe nu(MF_STRING, IDM_ABOUTBOX, strAboutMe nu);The frame

15、work does this automatically/ whe n the app licati on's main window is not a dialogSetIco n(m_hlco n, TRUE);/ Set big iconSetIco n(m_hlco n, FALSE);/ Set small icon/ TODO: Add extra in itializatio n here/设置按钮风格(IDB_BUY_ADD,IDB_BUY_ADD,IDB_BUY_ADD);(CTrackLookButt on:Alig nRight);(IDB_SALE_ADD,ID

16、B_SALE_ADD,IDB_SALE_ADD);(CTrackLookButt on:Alig nRight);(IDB_SHOW_BILL,IDB_SHOW_BILL,IDB_SHOW_BILL);(CTrackLookButt on:Alig nRight);(IDB_EXIT,IDB_EXIT,IDB_EXIT);(CTrackLookButt on:Alig nRight);/设置ListCtr列表框风格SetLstCtrlStyle();AddLstCtrlHeader();/罗列单据ListBills();return TRUE; / return TRUE unless you

17、 set the focus to a control(三) 开销售单据( 1)在文件的开始处包含单据对话框CBillDlg 的头文件,其代码如下:#include ""( 2)双击主对话框中的【开销售单】按钮,增加其响应函数OnSaleAdd() 。在该函数中设置类 CBillDlg 的变量 m_nBillType 为 1(表示销售单) ,然后显示该单据对话框,增加 完销售单后调用函数 ListBills() 刷新单据列表。其实现代码如下: void CBillsManagerDlg:OnSaleAdd()CBillDlg dlg;= 1;();ListBills();(

18、四) 开进货单据双击主对话框中的【开进货单】按钮,增加其响应函数OnBuyAddO。在该函数中设置类 CBillDlg 的变量 m_nBillType 为 0(表示进货单) ,然后显示该单据对话框,增加完进货 单据后调用函数 ListBills() 刷新单据列表。其实现代码如下: void CBillsManagerDlg:OnBuyAdd()CBillDlg dlg;= 0;();ListBills();(五) 查看单据双击主对话框中的【查看单据】按钮,增加其响应函数OnBillShow() 。调用该函数时至少要在列表中选择一条单据, 否则会提示用户。 该函数先获得所选单据的单据类型, 并且 据此设置类 CBi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论