⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menul_querydeldlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 CPP
字号:
// MenuL_QueryDelDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ministryperson.h"
#include "MenuL_QueryDelDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// MenuL_QueryDelDlg dialog
DemissionInfoDlg g_DemisiDlg;

MenuL_QueryDelDlg::MenuL_QueryDelDlg(CWnd* pParent /*=NULL*/)
	: CDialog(MenuL_QueryDelDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(MenuL_QueryDelDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void MenuL_QueryDelDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(MenuL_QueryDelDlg)
	DDX_Control(pDX, IDC_MENUL_LIST, m_MenuL_List);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(MenuL_QueryDelDlg, CDialog)
	//{{AFX_MSG_MAP(MenuL_QueryDelDlg)
	ON_BN_CLICKED(IDC_MENUL_BTN_QUERY, OnMenulBtnQuery)
	ON_BN_CLICKED(IDC_MENUL_BTN_OPERDEL, OnMenulBtnOperdel)
	ON_NOTIFY(NM_CLICK, IDC_MENUL_LIST, OnClickMenulList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// MenuL_QueryDelDlg message handlers

BOOL MenuL_QueryDelDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	MakeShowStyle();
	GetDlgItem(IDC_MENUL_BTN_OPERDEL)->EnableWindow(FALSE);
	GetDlgItem(IDC_MENUL_LIST)->EnableWindow(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

/*********************************************************************
函数说明:	  清空数据表的显示
函数参数:	  void
*********************************************************************/
BOOL MenuL_QueryDelDlg::DeleteAllRows()
{
	m_MenuL_List.DeleteAllItems();	// 清空列表控件
	return TRUE;
}

/*********************************************************************
函数说明:	  设置列表控件一行的内容
函数参数:	  
*********************************************************************/
BOOL MenuL_QueryDelDlg::SetRow(int row, CString *strArray, int nCount)
{
	m_MenuL_List.InsertItem(row, strArray[0]);			// 在列表控件中插入一行
	for (int i = 1; i < nCount; i++)
	{
		m_MenuL_List.SetItemText(row, i, strArray[i]);	// 设置除第一行外的其他行
	}
	return TRUE;
}

/*********************************************************************
函数说明:	  显示内容
函数参数:	  
*********************************************************************/
void MenuL_QueryDelDlg::MakeShowStyle()
{
	m_MenuL_List.SetExtendedStyle(LVS_EX_FLATSB | 
									  LVS_EX_GRIDLINES | 
									  LVS_EX_FULLROWSELECT | 
									  LVS_EX_ONECLICKACTIVATE);

	m_MenuL_List.InsertColumn(0, "姓名",   LVCFMT_LEFT, 50);
	m_MenuL_List.InsertColumn(1, "身份证", LVCFMT_LEFT, 150);
	m_MenuL_List.InsertColumn(2, "性别",   LVCFMT_LEFT, 50);
	m_MenuL_List.InsertColumn(3, "单位",   LVCFMT_LEFT, 120);
	m_MenuL_List.InsertColumn(4, "部门",   LVCFMT_LEFT, 120);
	m_MenuL_List.InsertColumn(5, "年龄",   LVCFMT_LEFT, 50);

	m_MenuL_List.InsertColumn(6, "现任职位类别", LVCFMT_LEFT, 100);
	m_MenuL_List.InsertColumn(7, "职称等级", LVCFMT_LEFT, 70);
	m_MenuL_List.InsertColumn(8, "职务", LVCFMT_LEFT, 122);
	m_MenuL_List.InsertColumn(9, "入职时间", LVCFMT_LEFT, 100);

	m_MenuL_List.InsertColumn(10, "毕业学校", LVCFMT_LEFT, 80);
	m_MenuL_List.InsertColumn(11, "最高学历", LVCFMT_LEFT, 70);
	m_MenuL_List.InsertColumn(12, "毕业时间", LVCFMT_LEFT, 100);
	m_MenuL_List.InsertColumn(13, "参加工作时间", LVCFMT_LEFT, 100);

	m_MenuL_List.InsertColumn(14, "技术专长", LVCFMT_LEFT, 122);
	m_MenuL_List.InsertColumn(15, "手机", LVCFMT_LEFT, 90);

	m_MenuL_List.InsertColumn(16, "备注", LVCFMT_LEFT, 150);
}

/*********************************************************************
函数说明:	  [按钮] 查询
函数参数:	  
*********************************************************************/
void MenuL_QueryDelDlg::OnMenulBtnQuery() 
{
	CString strIDCard;
	CString strName;
	GetDlgItemText(IDC_MENUL_EDIT_IDCARD, strIDCard);
	GetDlgItemText(IDC_MENUL_EDIT_NAME, strName);
	strName.TrimLeft();
	strIDCard.TrimLeft();
	if (strIDCard.IsEmpty() && strName.IsEmpty())
	{
		MessageBox("请填写【姓名】和【身份证】中的至少一项信息!\t", "提示", MB_OK | MB_ICONEXCLAMATION);
		GetDlgItem(IDC_MENUL_EDIT_NAME)->SetFocus();
		return;
	}

	CString SQL;
	if (strName.IsEmpty())
	{
		SQL.Format("select Employee_BasicInfor_Table.employee_Name as Name, \
						   Employee_BasicInfor_Table.employee_IDCard as IDCard, \
						   Employee_BasicInfor_Table.employee_Sex as Sex, \
						   Employee_BasicInfor_Table.employee_Age as Age, \
						   Employee_BasicInfor_Table.employee_JobPosition as JobPos, \
						   Employee_BasicInfor_Table.employee_TechPost as TechPost, \
						   Employee_BasicInfor_Table.employee_GraduateSchool as GraSch, \
						   Employee_BasicInfor_Table.employee_HighestDiploma as HigDia, \
						   Employee_BasicInfor_Table.employee_FirstJobTime as FirJobT, \
						   Employee_BasicInfor_Table.employee_TechSpecial as TechSpe, \
						   Employee_BasicInfor_Table.employee_MobilePhone as Mobile, \
						   Employee_BasicInfor_Table.employee_Remark as Remark, \
						   Employee_BasicInfor_Table.employee_JoinTime as JoinT, \
						   \
						   Employee_InActiveSer_Table.InActiveSer_Company as Company, \
						   Employee_InActiveSer_Table.InActiveSer_Department as Depart, \
						   Employee_InActiveSer_Table.InActiveSer_Duty as Duty, \
						   \
						   Employee_TrainExpe_Table.TrainExpe_StuEndTime1 as StuEndT \
						   \
					from Employee_BasicInfor_Table, Employee_InActiveSer_Table, Employee_TrainExpe_Table \
					where Employee_BasicInfor_Table.employee_IDCard = Employee_InActiveSer_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_IDCard = '%s'", strIDCard);
	}
	else if (strIDCard.IsEmpty())
	{
		SQL.Format("select Employee_BasicInfor_Table.employee_Name as Name, \
						   Employee_BasicInfor_Table.employee_IDCard as IDCard, \
						   Employee_BasicInfor_Table.employee_Sex as Sex, \
						   Employee_BasicInfor_Table.employee_Age as Age, \
						   Employee_BasicInfor_Table.employee_JobPosition as JobPos, \
						   Employee_BasicInfor_Table.employee_TechPost as TechPost, \
						   Employee_BasicInfor_Table.employee_GraduateSchool as GraSch, \
						   Employee_BasicInfor_Table.employee_HighestDiploma as HigDia, \
						   Employee_BasicInfor_Table.employee_FirstJobTime as FirJobT, \
						   Employee_BasicInfor_Table.employee_TechSpecial as TechSpe, \
						   Employee_BasicInfor_Table.employee_MobilePhone as Mobile, \
						   Employee_BasicInfor_Table.employee_Remark as Remark, \
						   Employee_BasicInfor_Table.employee_JoinTime as JoinT, \
						   \
						   Employee_InActiveSer_Table.InActiveSer_Company as Company, \
						   Employee_InActiveSer_Table.InActiveSer_Department as Depart, \
						   Employee_InActiveSer_Table.InActiveSer_Duty as Duty, \
						   \
						   Employee_TrainExpe_Table.TrainExpe_StuEndTime1 as StuEndT \
						   \
					from Employee_BasicInfor_Table, Employee_InActiveSer_Table, Employee_TrainExpe_Table \
					where Employee_BasicInfor_Table.employee_IDCard = Employee_InActiveSer_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_Name = '%s'", strName);
	}
	else
	{
		SQL.Format("select Employee_BasicInfor_Table.employee_Name as Name, \
						   Employee_BasicInfor_Table.employee_IDCard as IDCard, \
						   Employee_BasicInfor_Table.employee_Sex as Sex, \
						   Employee_BasicInfor_Table.employee_Age as Age, \
						   Employee_BasicInfor_Table.employee_JobPosition as JobPos, \
						   Employee_BasicInfor_Table.employee_TechPost as TechPost, \
						   Employee_BasicInfor_Table.employee_GraduateSchool as GraSch, \
						   Employee_BasicInfor_Table.employee_HighestDiploma as HigDia, \
						   Employee_BasicInfor_Table.employee_FirstJobTime as FirJobT, \
						   Employee_BasicInfor_Table.employee_TechSpecial as TechSpe, \
						   Employee_BasicInfor_Table.employee_MobilePhone as Mobile, \
						   Employee_BasicInfor_Table.employee_Remark as Remark, \
						   Employee_BasicInfor_Table.employee_JoinTime as JoinT, \
						   \
						   Employee_InActiveSer_Table.InActiveSer_Company as Company, \
						   Employee_InActiveSer_Table.InActiveSer_Department as Depart, \
						   Employee_InActiveSer_Table.InActiveSer_Duty as Duty, \
						   \
						   Employee_TrainExpe_Table.TrainExpe_StuEndTime1 as StuEndT \
						   \
					from Employee_BasicInfor_Table, Employee_InActiveSer_Table, Employee_TrainExpe_Table \
					where Employee_BasicInfor_Table.employee_IDCard = Employee_InActiveSer_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_IDCard = Employee_TrainExpe_Table.employee_IDCard and \
						  Employee_BasicInfor_Table.employee_Name = '%s' and \
						  Employee_BasicInfor_Table.employee_IDCard = '%s'", strName, strIDCard);
	}

	CADOOperation ADOdbo;
	CString strFields[] = {"Name", "IDCard", "Sex", "Company",  "Depart", "Age", 
						   "JobPos", "TechPost", "Duty", "JoinT",
						   "GraSch", "HigDia", "StuEndT", "FirJobT", 
						   "TechSpe", "Mobile", 						     
						   "Remark"};	
	ADOdbo.OpenRecordset(SQL);
	ADOdbo.ShowADOView(strFields, 17, this);
	ADOdbo.CloseRecorset();
	GetDlgItem(IDC_MENUL_LIST)->EnableWindow(TRUE);
	GetDlgItem(IDC_MENUL_BTN_OPERDEL)->EnableWindow(TRUE);
}

int g_DelIndex = -1;

/*********************************************************************
函数说明:	  [按钮] 辞职办理
函数参数:	  
*********************************************************************/
void MenuL_QueryDelDlg::OnMenulBtnOperdel() 
{
	if (g_DelIndex < 0)
	{
		MessageBox("请选中列表中的一个项!\t", "提示", MB_OK | MB_ICONEXCLAMATION);
		return;
	}
	
	CString strMsg;
	MessageBox("此操作为不可逆操作,执行前请仔细核查确认操作对象正确!\t", "提示", MB_ICONEXCLAMATION | MB_OK);
	strMsg.Format("请再次核查确认!是给员工【%s】办理辞职吗?!\t", g_DemisiDlg.m_strName);
	if (IDYES == MessageBox(strMsg, "提示", MB_ICONEXCLAMATION | MB_YESNO))
	{		
		g_DemisiDlg.m_bModifyNotFirst = FALSE;
		g_DemisiDlg.m_bFlowerToShow = FALSE;
		g_DemisiDlg.DoModal();
		if (g_bEnable)
		{			
			GetDlgItem(IDC_MENUL_BTN_OPERDEL)->EnableWindow(FALSE);
		}
	}
}

/*********************************************************************
函数说明:	  单击
函数参数:	  
*********************************************************************/
void MenuL_QueryDelDlg::OnClickMenulList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
	g_DelIndex = lpnmlv->iItem;
	
	g_DemisiDlg.m_strName   = m_MenuL_List.GetItemText(lpnmlv->iItem, 0);
	g_DemisiDlg.m_strIDCard = m_MenuL_List.GetItemText(lpnmlv->iItem, 1);

	g_DemisiDlg.m_strSex     = m_MenuL_List.GetItemText(lpnmlv->iItem, 2);
	g_DemisiDlg.m_strCompany = m_MenuL_List.GetItemText(lpnmlv->iItem, 3);
	g_DemisiDlg.m_strDepart  = m_MenuL_List.GetItemText(lpnmlv->iItem, 4);
	g_DemisiDlg.m_strAge     = m_MenuL_List.GetItemText(lpnmlv->iItem, 5);
	
	g_DemisiDlg.m_strJobPos   = m_MenuL_List.GetItemText(lpnmlv->iItem, 6);
	g_DemisiDlg.m_strTechPost = m_MenuL_List.GetItemText(lpnmlv->iItem, 7);
	g_DemisiDlg.m_strDuty     = m_MenuL_List.GetItemText(lpnmlv->iItem, 8);
	g_DemisiDlg.m_strJoinT    = m_MenuL_List.GetItemText(lpnmlv->iItem, 9);
	
	g_DemisiDlg.m_strGraSch  = m_MenuL_List.GetItemText(lpnmlv->iItem, 10);
	g_DemisiDlg.m_strHigDia  = m_MenuL_List.GetItemText(lpnmlv->iItem, 11);
	g_DemisiDlg.m_strStuEndT = m_MenuL_List.GetItemText(lpnmlv->iItem, 12);
	g_DemisiDlg.m_strFirJobT = m_MenuL_List.GetItemText(lpnmlv->iItem, 13);
		
	g_DemisiDlg.m_strTechSpe = m_MenuL_List.GetItemText(lpnmlv->iItem, 14);
	g_DemisiDlg.m_strMobile  = m_MenuL_List.GetItemText(lpnmlv->iItem, 15);
	g_DemisiDlg.m_strRemark  = m_MenuL_List.GetItemText(lpnmlv->iItem, 16);

	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -