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

📄 cattendinfo.cpp

📁 一个有关人事系统的所有代码和有关文件包括里面小量数据库。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	arst.Open(sSQL,adCmdText);
	this->ButtonEnabled(false);
	this->m_add.SetFocus();
}

void CCAttendInfo::OnButexit() //退出对话框081005XLW
{
	// TODO: Add your control notification handler code here
	this->OnCancel();
}

void CCAttendInfo::OnButdelete() //删除该条信息
{
	// TODO: Add your control notification handler code here
	if(MessageBox("确定要删除此条记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	CString sSQL;
    sSQL.Format("DELETE FROM AttendInfo WHERE Attendance_ID='%s'",m_sID);
	RxRecordset Drst;
	Drst.Open(sSQL,adCmdText);
	this->OnCancel();
}

void CCAttendInfo::OnButchange() //修改该条信息
{
	// TODO: Add your control notification handler code here
	AddOrChange=2;
	this->ButtonEnabled(true);
	m_EdtsID.SetFocus();
}

void CCAttendInfo::OnButadd() //添加一天新的信息
{
	// TODO: Add your control notification handler code here
	AddOrChange=1;
	this->ButtonEnabled(true);
	this->ClearEdit();
	CString NewID=ado.AutoNumber("AttendInfo","Attendance_ID","KQ",2);//采用流水线号
	m_EdtcheckID.SetWindowText(NewID);
	m_EdtsID.SetFocus();
}

BOOL CCAttendInfo::OnInitDialog() //窗口初始化081003XLW
{
	CDialog::OnInitDialog();	
	// TODO: Add extra initialization here
	CDBaseQuery* Parent =(CDBaseQuery*)this->FindWindow(NULL,"员工考勤查询");
	m_sID=Parent->m_Grid.GetItemText(Parent->m_CurrentRow,0);
	RxRecordset rs,ts;
	rs.Open("部门视图");
    m_ComDept.SetRecordset(rs,"部门名称");
	m_Comstaffdep.SetRecordset(rs,"部门名称");
	ts.Open("select 部门名称 from 部门视图");
	m_ComDept.SetFieldset(ts);
	m_Comstaffdep.SetFieldset(ts);
	m_Comstaffdep.SelectString(0,"所有部门");
	this->m_ComDept.m_CurrentFieldType="字符型";
	this->m_Comstaffdep.m_CurrentFieldType="字符型";

	m_Sql_Grid.ReadOnly(true);
	m_Sql_Grid.SetDataBase("员工查询视图",adCmdTable);
	this->DisPlayInfo(m_sID);	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void CCAttendInfo::DisPlayInfo(CString ID)
{
	RxRecordset drxt;
	CString sSQL;
	if(ID.IsEmpty())
		return;
	sSQL.Format("SELECT * FROM 员工考勤视图 WHERE 考勤编号 ='%s'",ID);
	drxt.Open(sSQL,adCmdText);

	CString checkID,kqMonth,kqyear,kqdate,sID,sName,sDept,swDay,soDay,slDay,slDay1,seDay,smDay,sRemark;
	
	checkID=drxt.GetFieldValue("考勤编号");//考勤编号1
	kqMonth=drxt.GetFieldValue("考勤月份");//考勤月份2
	kqyear=drxt.GetFieldValue("考勤年份");
	kqdate=kqyear+"-" + kqMonth + "-27";
	CTime time;
	time=CStringTOCTime(kqdate);
	sID=drxt.GetFieldValue("员工编号");//员工编号3
	sName=drxt.GetFieldValue("员工姓名");//员工姓名4
	sDept=drxt.GetFieldValue("所属部门");//部门5
	swDay=drxt.GetFieldValue("待工天数");//怠工天数6
	soDay=drxt.GetFieldValue("加班天数");//加班天数7
	slDay=drxt.GetFieldValue("迟到天数");//迟到天数8
	slDay1=drxt.GetFieldValue("请假天数");//请假天数9
	seDay=drxt.GetFieldValue("出勤天数");//出勤天数10
	smDay=drxt.GetFieldValue("旷工天数");//矿工天数11
	sRemark=drxt.GetFieldValue("备注");//备注12
	//////
	m_EdtcheckID.SetWindowText(checkID);
//	m_ComMonth.SetWindowText(kqMonth);
	this->m_Kqtime.SetTime(&time);
	m_EdtsID.SetWindowText(sID);
	m_Edtname.SetWindowText(sName);
	m_ComDept.SetWindowText(sDept);
	m_EdtWday.SetWindowText(swDay);
	m_EdtOday.SetWindowText(soDay);
	m_EdtLday.SetWindowText(slDay);
	m_EdtLday1.SetWindowText(slDay1);
	m_EdtEday.SetWindowText(seDay);
	m_EdtMday.SetWindowText(smDay);
	m_Edtremark.SetWindowText(sRemark);

	m_EdtcheckID.SetColour(RGB(0,0,0));//设置编辑框边框颜色
//	m_Edtmonth.SetColour(RGB(0,0,0));
	m_EdtsID.SetColour(RGB(0,0,0));
	m_Edtname.SetColour(RGB(0,0,0));
//	m_Edtdept.SetColour(RGB(0,0,0));
	m_EdtWday.SetColour(RGB(0,0,0));
	m_EdtOday.SetColour(RGB(0,0,0));
	m_EdtLday.SetColour(RGB(0,0,0));
	m_EdtLday1.SetColour(RGB(0,0,0));
	m_EdtEday.SetColour(RGB(0,0,0));
	m_EdtMday.SetColour(RGB(0,0,0));
	m_Edtremark.SetColour(RGB(0,0,0));
}

void CCAttendInfo::ClearEdit()//清空文本类容
{
	///////////////////////////XLW
	m_EdtcheckID.SetWindowText("");
//	m_Edtmonth.SetWindowText("");
	m_EdtsID.SetWindowText("");
	m_Edtname.SetWindowText("");
//	m_Edtdept.SetWindowText("");
	m_EdtWday.SetWindowText("");
	m_EdtOday.SetWindowText("");
	m_EdtLday.SetWindowText("");
	m_EdtLday1.SetWindowText("");
	m_EdtEday.SetWindowText("");
	m_EdtMday.SetWindowText("");
	m_Edtremark.SetWindowText("");

}

void CCAttendInfo::ButtonEnabled(bool bEnabled)//标记按扭可用性
{
	m_EdtstaffID.EnableWindow(bEnabled);
	m_Edtstaffname.EnableWindow(bEnabled);
	m_Comstaffdep.EnableWindow(bEnabled);
	m_Sql_Grid.EnableWindow(bEnabled);
	m_Kqtime.EnableWindow(bEnabled);
	m_EdtsID.EnableWindow(bEnabled);
	m_Edtname.EnableWindow(bEnabled);
	m_ComDept.EnableWindow(bEnabled);
	m_EdtWday.EnableWindow(bEnabled);
	m_EdtOday.EnableWindow(bEnabled);
	m_EdtLday.EnableWindow(bEnabled);
	m_EdtLday1.EnableWindow(bEnabled);
	m_EdtEday.EnableWindow(bEnabled);
	m_EdtMday.EnableWindow(bEnabled);
	m_Edtremark.EnableWindow(bEnabled);
	////////////////////
	m_add.EnableWindow(!bEnabled);
	m_change.EnableWindow(!bEnabled);
	m_delete.EnableWindow(!bEnabled);
	m_exit.EnableWindow(!bEnabled);
	m_save.EnableWindow(bEnabled);
	m_undo.EnableWindow(bEnabled);

}

void CCAttendInfo::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CRect rect;
		CBitmap bit;
		CDC memDC;
		this->GetClientRect(&rect);
		bit.LoadBitmap(IDB_BIT_BJ);
		memDC.CreateCompatibleDC(&dc);
		memDC.SelectObject(&bit);
		dc.BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);
		memDC.DeleteDC();
		::DeleteObject(&bit);	
		CDialog::OnPaint();
	// Do not call CDialog::OnPaint() for painting messages
}

HBRUSH CCAttendInfo::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor==CTLCOLOR_STATIC)
	{
		pDC->SetBkColor(RGB(255,255,255));
		pDC->SetTextColor(RGB(0,0,0));

	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

void CCAttendInfo::OnBtnsel() 
{
	// TODO: Add your control notification handler code here
	CString sSQL,sName,sSID,sSdep;
	this->m_Edtstaffname.GetWindowText(sName);
	this->m_EdtstaffID.GetWindowText(sSID);
	this->m_Comstaffdep.GetWindowText(sSdep);
	if(sSdep=="所有部门")
	{
	if(sName.IsEmpty() && sSID.IsEmpty())
			sSQL.Format("SELECT * FROM 员工查询视图");

	    if(!sName.IsEmpty())
		{
			if(sSID.IsEmpty())
			sSQL.Format("SELECT * FROM 员工查询视图 where 姓名 LIKE '%%%s%%'",sName);
			else
				sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' OR 姓名 LIKE '%%%s%%'",sSID,sName);
		}
		else
		{
			if(!sSID.IsEmpty())
				sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%'",sSID);
		}
	}
	
	if(sSdep!="所有部门")
	{
		if(sName.IsEmpty() && sSID.IsEmpty())
			sSQL.Format("SELECT * FROM 员工查询视图 where 部门='%s'",sSdep);
		if(!sName.IsEmpty())
		{
			if(sSID.IsEmpty())
			sSQL.Format("SELECT * FROM 员工查询视图 where 姓名 LIKE '%%%s%%' AND 部门='%s'",sName,sSdep);
			else
				sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' OR 姓名 LIKE '%%%s%%' AND 部门='%s'",sSID,sName,sSdep);
		}
		else
		{
			if(!sSID.IsEmpty())
				sSQL.Format("SELECT * FROM 员工查询视图 where 编号 LIKE '%%%s%%' AND 部门='%s'",sSID,sSdep);
		}
	}
	RxRecordset rRst;
	rRst.Open(sSQL,adCmdText);
	m_Sql_Grid.AddCellValue(rRst);
}

void CCAttendInfo::OnDblclkListGrid(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	RxRecordset rRst;
	CString sSql,sname,sID,sdep;
	if(m_Sql_Grid.GetHotItem()<0)
		return;
	m_tID=this->m_Sql_Grid.GetItemText(m_Sql_Grid.GetHotItem(),0);
	sSql.Format("SELECT * FROM 员工查询视图 WHERE 编号='%s'",m_tID);
	rRst.Open(sSql,adCmdText);
	sID=rRst.GetFieldValue("编号");
	sname=rRst.GetFieldValue("姓名");
	sdep=rRst.GetFieldValue("部门");
	
	m_EdtsID.SetWindowText(sID);
	m_Edtname.SetWindowText(sname);
	m_ComDept.SetWindowText(sdep);
	*pResult = 0;
}

⌨️ 快捷键说明

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