设为首页 加入收藏

TOP

3.7.6 入库汇总界面的实现
2013-10-07 14:51:43 来源: 作者: 【 】 浏览:62
Tags:3.7.6 入库 汇总 面的 实现

3.7.6  入库汇总界面的实现

入库汇总界面实现各种方式进行汇总,其中汇总选择组合框中提供5种方式,这是设计的重点。该模块对应实现代码如下:

代码位置:见光盘中本章源代码的CINDETAIL类。

  1. 1      CString sqlstr;  
  2. 2   CString str,fileds;  
  3. 3   UpdateData();                                           //保存数据  
  4. 4   m_combox.GetLBText(m_combox.GetCurSel(),str);           //获取组合框选项内容  
  5. 5   if(str=="商品编号汇总")  
  6. 6   {                                                   //构造查询语句  
  7. 7   sqlstr.Format("select a.merchandiseid,b.mercname,a.unitprice,a.numbers,b. discount,  
  8. 8      a.paymoney,a.operid,a.storid,a.storflag from tb_storage a inner join tb_ merchangiseinfo b  
  9. 9      on a.merchandiseid=b.id where a.merchandiseid='%s' and a.storflag'1'", m_edit1);  
  10. 10      sqlstr1.Format("select sum(numbers) as allnum from tb_storage a inner join tb_merchangiseinfo  
  11. 11      b  on a.merchandiseid=b.id where a.merchandiseid='%s' and a.storflag'1'", m_edit1);  
  12. 12  sqlstr2.Format("select sum(paymoney) as allmoney from tb_storage a inner join tb_merchangiseinfo  
  13. 13     b on a.merchandiseid=b.id where a.merchandiseid='%s' and a.storflag='1'", m_edit1);  
  14. 14      }  
  15. 15      ShowList2(sqlstr);                                  //显示查询结果  

第5行代码只是以商品编号汇总为例说明SQL语句构造过程,其他类似。

第15行代码主要是调用函数ShowList2()显示操作结果和汇总结果。

操作结果和汇总结果是用函数ShowList2()封装实现的,其中代码如下:

代码位置:见光盘中本章源代码的CINDETAIL类。

  1. 1  void CINSTOCKMANGE::ShowList2(CString sqlstr)  
  2. 2  {  
  3. 3   m_record->Close();                                  //关闭记录集  
  4. 4   m_record->Open(_bstr_t(sqlstr),theApp.m_connection.GetInterfacePtr(),  
  5. 5                  adOpenDynamic,adLockOptimistic,adCmdText);   //打开记录集  
  6. 6   int rows=0;  
  7. 7   m_list2.DeleteAllItems();                               //清空列表控件  
  8. 8   if(GetRecordCount(m_record))  
  9. 9   {  
  10. 10      while(!m_record->_EOF)                              //记录没到最后  
  11. 11      {  
  12. 12          for(int i=0;i<8;i++)  
  13. 13          {                                               //取每一列数据  
  14. 14              CString temp=(LPCSTR)(_bstr_t)m_record->Fields->GetItem(long(i))-> Value;  
  15. 15              if(i==0)                                    //第一列  
  16. 16              {  
  17. 17                  m_list2.InsertItem(rows,temp);  
  18. 18              }  
  19. 19              else                                            //其他列  
  20. 20                  m_list2.SetItemText(rows,i,temp);  
  21. 21          }  
  22. 22          rows++;  
  23. 23          m_record->MoveNext();                               //记录后移  
  24. 24      }  
  25. 25      GetAllNum(sqlstr1);  
  26. 26      GetAllMoney(sqlstr2);                               //结账显示金额  
  27. 27      }  
  28. 28      else  
  29. 29      {  
  30. 30          m_allnum="累计\r\n数量:";  
  31. 31          m_allmoney="累计\r\n金额:";  
  32. 32          m_allmoneyctrl.SetText(m_allmoney);  
  33. 33          m_allnumctrl.SetText(m_allnum);  
  34. 34      }  

第8~24行代码显示汇总操作结果。

第25、26行代码显示汇总数量和金额。

在本系统中封装成函数GetAllNum()和GetAllMoney()来实现统计。另外,关于时间范围的查询,在前面有类似的SQL语句构造方法,此处就不做说明了。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.7.5 入库明细界面的实现(1) 下一篇3.9.4 销售退货界面的实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: