📄 suminputform.cpp
字号:
// SumInputForm.cpp : implementation file
//
#include "stdafx.h"
#include "Store.h"
#include "SumInputForm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSumInputForm dialog
CSumInputForm::CSumInputForm(CWnd* pParent /*=NULL*/)
: CDialog(CSumInputForm::IDD, pParent)
{
//{{AFX_DATA_INIT(CSumInputForm)
m_formDateBegin = COleDateTime::GetCurrentTime();
m_formDateEnd = COleDateTime::GetCurrentTime();
m_productName = _T("");
m_houseInType = _T("");
m_provider = _T("");
m_department = _T("");
m_formID = _T("");
m_storeHouse = _T("");
//}}AFX_DATA_INIT
}
void CSumInputForm::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSumInputForm)
DDX_Control(pDX, IDC_storeHouse, m_storeHouseCombo);
DDX_Control(pDX, IDC_formID, m_formIDCombo);
DDX_Control(pDX, IDC_department, m_departmentCombo);
DDX_Control(pDX, IDC_provider, m_providerCombo);
DDX_Control(pDX, IDC_houseInType, m_houseInTypeCombo);
DDX_Control(pDX, IDC_productName, m_productNameCombo);
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_DateTimeCtrl(pDX, IDC_formDateBegin, m_formDateBegin);
DDX_DateTimeCtrl(pDX, IDC_formDateEnd, m_formDateEnd);
DDX_CBString(pDX, IDC_productName, m_productName);
DDX_CBString(pDX, IDC_houseInType, m_houseInType);
DDX_CBString(pDX, IDC_provider, m_provider);
DDX_CBString(pDX, IDC_department, m_department);
DDX_CBString(pDX, IDC_formID, m_formID);
DDX_CBString(pDX, IDC_storeHouse, m_storeHouse);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSumInputForm, CDialog)
//{{AFX_MSG_MAP(CSumInputForm)
ON_BN_CLICKED(IDC_BUTTON1, OnSearch)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSumInputForm message handlers
void CSumInputForm::OnSearch()
{
UpdateData(true);//将对话框数据更新到变量
m_list.DeleteAllItems();//清空列表框
CString strSQL;
HRESULT hTRes;
_RecordsetPtr m_pRecordset;
int flag=0;
//构造查询产品入库汇总的sql语句
strSQL="select storeHouse,sum(num) as num,sum(total) as total from productInputFormView";
strSQL=strSQL+" where formDate>='"+((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateBegin)+"'";//开始日期
strSQL=strSQL+" and formDate<='"+((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateEnd)+"'";//结束日期
if(m_department!="")//部门
{
strSQL=strSQL+" and produceDepartment='"+m_department+"'";
flag=1;
}
if(m_formID!="")//单据号
{
strSQL=strSQL+" and productInputFormID='"+m_formID+"'";
}
if(m_houseInType!="")//入库类别
{
strSQL=strSQL+" and houseInType='"+m_houseInType+"'";
}
if(m_productName!="")//产品名称
{
strSQL=strSQL+" and productName='"+m_productName+"'";
}
if(m_storeHouse!="")//仓库名称
{
strSQL=strSQL+" and storeHouse='"+m_storeHouse+"'";
}
strSQL=strSQL+" group by storeHouse";//按照仓库分组
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
int i=0;
//将查询结果添加到列表框控件中
while(!(m_pRecordset->adoEOF))
{
m_list.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("storeHouse")));//仓库名称
m_list.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("num")));//数量
m_list.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("total")));//金额
m_pRecordset->MoveNext();//记录集指针向后移动
i++;
}
}
BOOL CSumInputForm::OnInitDialog()
{
CDialog::OnInitDialog();
DWORD style;
style=m_list.GetExStyle();
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
m_list.SetExtendedStyle(style);
m_list.InsertColumn(0,"仓库名称",LVCFMT_LEFT,100);
m_list.InsertColumn(1,"入库数量",LVCFMT_LEFT,100);
m_list.InsertColumn(2,"入库金额",LVCFMT_LEFT,100);
CString strSQL;
HRESULT hTRes;
_RecordsetPtr m_pRecordset;
strSQL="select distinct productName from productInputFormView";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
//----------------------------------------------------
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
while(!(m_pRecordset->adoEOF))
{
m_productNameCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("productName")));
m_pRecordset->MoveNext();
}
}
}
m_pRecordset->Close();
strSQL="select distinct houseInType from productInputFormView";
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
while(!(m_pRecordset->adoEOF))
{
m_houseInTypeCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("houseInType")));
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
strSQL="select distinct productInputFormID from productInputFormView";
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
while(!(m_pRecordset->adoEOF))
{
m_formIDCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("productInputFormID")));
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
strSQL="select distinct produceDepartment from productInputFormView";
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
while(!(m_pRecordset->adoEOF))
{
m_departmentCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("produceDepartment")));
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
strSQL="select distinct storeHouse from productInputFormView";
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
while(!(m_pRecordset->adoEOF))
{
m_storeHouseCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("storeHouse")));
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -