www.gusucode.com > VC+Access工程信息管理系统 > VC+Access工程信息管理系统/gusucode/IMS/PropPageQuery.cpp
//Download by http://www.NewXing.com // PropPageQuery.cpp : implementation file // #include "stdafx.h" #include "IMS.h" #include "PropPageQuery.h" #include "IMSDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPropPageQuery property page IMPLEMENT_DYNCREATE(CPropPageQuery, CPropertyPage) CPropPageQuery::CPropPageQuery() : CPropertyPage(CPropPageQuery::IDD) { //{{AFX_DATA_INIT(CPropPageQuery) m_bExpense = FALSE; m_bWorkDate = FALSE; m_bWorkGroup = FALSE; m_bWorkPosition = FALSE; m_oletEndWork = COleDateTime::GetCurrentTime(); m_oletStartWork = COleDateTime::GetCurrentTime(); m_strWorkGroup = _T(""); m_nExpense = 0; m_strWorkPosition = _T(""); m_bDataTime = FALSE; m_bLinkMan = FALSE; m_bTelNumber = FALSE; m_bWorkContent = FALSE; m_bWorkUnit = FALSE; m_strLinkMan = _T(""); m_strTelNumber = _T(""); m_strWorkContent = _T(""); m_strWorkUnit = _T(""); m_oletEndDataTime = COleDateTime::GetCurrentTime(); m_oletStartDataTime = COleDateTime::GetCurrentTime(); //}}AFX_DATA_INIT } CPropPageQuery::~CPropPageQuery() { } void CPropPageQuery::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPropPageQuery) DDX_Check(pDX, IDC_CHECK_EXPENSES, m_bExpense); DDX_Check(pDX, IDC_CHECK_WORKDATE, m_bWorkDate); DDX_Check(pDX, IDC_CHECK_WORKGROUP, m_bWorkGroup); DDX_Check(pDX, IDC_CHECK_WORKPOSITION, m_bWorkPosition); DDX_DateTimeCtrl(pDX, IDC_ENDWORKDATE, m_oletEndWork); DDX_DateTimeCtrl(pDX, IDC_STARTWORKDATE, m_oletStartWork); DDX_CBString(pDX, IDC_WORKGROUP, m_strWorkGroup); DDX_CBIndex(pDX, IDC_EXPENSES, m_nExpense); DDX_Text(pDX, IDC_WORKPOSITION, m_strWorkPosition); DDX_Check(pDX, IDC_CHECK_DATATIME, m_bDataTime); DDX_Check(pDX, IDC_CHECK_LINKMAN, m_bLinkMan); DDX_Check(pDX, IDC_CHECK_TELNUMBER, m_bTelNumber); DDX_Check(pDX, IDC_CHECK_WORKCONTENT, m_bWorkContent); DDX_Check(pDX, IDC_CHECK_WORKUNIT, m_bWorkUnit); DDX_Text(pDX, IDC_LINKMAN, m_strLinkMan); DDX_Text(pDX, IDC_TELNUMBER, m_strTelNumber); DDX_CBString(pDX, IDC_WORKCONTENT, m_strWorkContent); DDX_Text(pDX, IDC_WORKUNIT, m_strWorkUnit); DDX_DateTimeCtrl(pDX, IDC_ENDDATATIME, m_oletEndDataTime); DDX_DateTimeCtrl(pDX, IDC_STARTDATATIME, m_oletStartDataTime); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPropPageQuery, CPropertyPage) //{{AFX_MSG_MAP(CPropPageQuery) ON_BN_CLICKED(IDC_CHECK_WORKPOSITION, OnCheckWorkposition) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPropPageQuery message handlers BOOL CPropPageQuery::OnSetActive() { nActivePage = 1; CIMSDlg *pCIMDlg = (CIMSDlg *)(AfxGetApp( )->m_pMainWnd); CWnd *pWnd = pCIMDlg->GetDlgItem(IDC_EXECUTE); pWnd->SetWindowText("查询记录(&F)"); return CPropertyPage::OnSetActive(); } BOOL CPropPageQuery::Execute() { CString strFilter = ""; BOOL bFirstSQLOperand = TRUE; // Update to get the status of the filter parameters UpdateData(TRUE); if ( m_bWorkUnit ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[建设单位] Like '" ) + m_strWorkUnit + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [建设单位] Like '" ) + m_strWorkUnit + CString ( "'" ); } if ( m_bLinkMan ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[联系人] Like '" ) + m_strLinkMan + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [联系人] Like '" ) + m_strLinkMan + CString ( "'" ); } if ( m_bTelNumber ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[联系电话] Like '" ) + m_strTelNumber + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [联系电话] Like '" ) + m_strTelNumber + CString ( "'" ); } if ( m_bExpense ) { if( m_nExpense == 1 ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[收费] > 0" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [收费] >0" ); } else if( m_nExpense == 0 ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[收费] = 0" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [收费] = 0" ); } } if ( m_bWorkPosition ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[工程地点] Like '" ) + m_strWorkPosition + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [工程地点] Like '" ) + m_strWorkPosition + CString ( "'" ); } if ( m_bWorkGroup ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[工作班组] Like '" ) + m_strWorkGroup + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [工作班组] Like '" ) + m_strWorkGroup + CString ( "'" ); } if ( m_bDataTime ) { CString strStartDataTime = m_oletStartDataTime.Format(_T("%m-%d-%Y") ); CString strEndDataTime = m_oletEndDataTime.Format(_T("%m-%d-%Y") ); if ( bFirstSQLOperand ) { strFilter += CString ( "[资料日期] between #" ) + strStartDataTime + CString ( "# and #" ) + strEndDataTime +CString ( "#" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [资料日期] between #" ) + strStartDataTime + CString ( "# and #" ) + strEndDataTime +CString ( "#" ); } if ( m_bWorkContent ) { if ( bFirstSQLOperand ) { strFilter += CString ( "[作业内容] Like '" ) + m_strWorkPosition + CString ( "'" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [作业内容] Like '" ) + m_strWorkPosition + CString ( "'" ); } if ( m_bWorkDate ) { CString strStartWork = m_oletStartWork.Format(_T("%m-%d-%Y") ); CString strEndWork = m_oletEndWork.Format(_T("%m-%d-%Y") ); if ( bFirstSQLOperand ) { strFilter += CString ( "[工作日期] between #" ) + strStartWork + CString ( "# and #" ) + strEndWork +CString ( "#" ); bFirstSQLOperand = FALSE; } else strFilter += CString ( " AND [工作日期] between #" ) + strStartWork + CString ( "# and #" ) + strEndWork +CString ( "#" ); } daoRecordset . m_strFilter = strFilter; return TRUE; } void CPropPageQuery::OnCheckWorkposition() { UpdateData(TRUE); if( m_bWorkPosition ) m_bWorkPosition = FALSE; else m_bWorkPosition = TRUE; }