📄 cattendinfo.cpp
字号:
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 + -