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

📄 kaoqingdlg.cpp

📁 access dao 数据库
💻 CPP
📖 第 1 页 / 共 2 页
字号:
 }

 inputrec.MoveLast(); 
			 idstr.Format ("%d",V_I4(&inputrec.GetFieldValue( 0 )));
			 day1str.Format ("%.2f",workdays);
			 day2str.Format ("%.2f",workdays2);
			 sharelist .InsertItem (0,idstr);
			 sharelist.SetItemText (0,1,personcode);
			 sharelist.SetItemText (0,2,personname);
			 sharelist.SetItemText(0,3,day1str);
			 sharelist.SetItemText(0,4,day2str);

			 sharelist.SetItemText (0,5,month);
			 sharelist.SetItemText (0,6,unit);
			 sharelist.SetItemText (0,7,job);
			 sharelist.SetItemText (0,8,year);
			 



inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
//UpdateData (false); 


double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}

hejistr.Format ("列表中正班合计:%.2f  副班合计:%.2f",sumalldays1,sumalldays2);
UpdateData (false);

workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
personcodeet.SetFocus ();

}

void CkaoqingDlg::OnBnClickedButton3()
{CString tempnumberstr,idstr,day1str,day2str;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));

UpdateData (true);
if(year==_T("")) {yearcombo.SetFocus ();AfxMessageBox("请确定年份");return;}



if(personcode==_T(""))	{personcodeet.SetFocus ();return;}
if(personname==_T(""))  {personnameet.SetFocus ();return;}
if(workdays<=0) 	     {workdayset.SetFocus ();return;}
if(workdays2<0) 	     {workdayset2.SetFocus ();return;}

if(month==_T(""))        {monthcombo.SetFocus ();return;}
if(unit==_T(""))         {workunitcombo.SetFocus ();return;}
if(job==_T(""))          {jobcombo.SetFocus ();return;}



CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库

CDaoQueryDef inquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));

inputrecordset inputrec;
inputrec.Open (&inquery,dbOpenDynaset);
 idstr.Format (_T("[序号]=%d"),id);
if(!inputrec.FindFirst (idstr))
{inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
AfxMessageBox("数据库错误,请关闭");
return;
}



  try
{
  inputrec.Edit ();
  inputrec.personcode =personcode; 
  inputrec.workdays  =workdays;
  inputrec.workdays2  =workdays2;
  
  inputrec.month  =month;
  inputrec.unit   =unit;
  inputrec.job =job ;
  inputrec.year =year ;
 inputrec.Update ();
  
}
catch( CDaoException* e )
{e->ReportError ();
    //AfxMessageBox("错误");
	e->Delete( );
    inputrec.Close ();
	inquery.Close ();
	kaoqingbu.Close ();
	personcodeet.SetFocus ();
	return;
 }
             sharelist.DeleteItem (sharelistindex);
			 idstr.Format ("%d",id);
			 day1str.Format ("%.2f",workdays);
			 day2str.Format ("%.2f",workdays2);

			 sharelist .InsertItem (sharelistindex,idstr);
			 sharelist.SetItemText (sharelistindex,1,personcode);
			 sharelist.SetItemText (sharelistindex,2,personname);
			 sharelist.SetItemText(sharelistindex,3,day1str);
			 sharelist.SetItemText(sharelistindex,4,day2str);
			 sharelist.SetItemText (sharelistindex,5,month);
			 sharelist.SetItemText (sharelistindex,6,unit);
			 sharelist.SetItemText (sharelistindex,7,job);
			 sharelist.SetItemText (sharelistindex,8,year);
			 



inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
 
double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}
UpdateData (false);
hejistr.Format ("列表中正班合计:%.2f  副班合计:%.2f",sumalldays1,sumalldays2);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;
}

void CkaoqingDlg::OnBnClickedButton4()
{   id=-1;
    sharelistindex=-1;
	personcode=personname=_T("");
	
	UpdateData (false);
	
	workdayset.SetWindowText ("0");
	workdayset2.SetWindowText ("0");
	
	monthcombo.SetCurSel (0);
	workunitcombo.SetCurSel (0);
    jobcombo.SetCurSel (0);
	yearcombo.SetCurSel (0);
	personcodeet.SetFocus ();
	addormodi=0;
	addbt.EnableWindow (true);
	modibt.EnableWindow (false);
	nomodibt.EnableWindow (false);
	deletebt.EnableWindow (false);
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnClickedButton12()
{if(AfxMessageBox("【你确定要删除吗】?", MB_OKCANCEL|MB_DEFBUTTON2,0)==IDCANCEL) 
{


personname=personcode=(_T(""));
UpdateData (false);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;return;
}
	CString tempnumberstr,idstr,day1str,day2str;


CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库

CDaoQueryDef inquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));

inputrecordset inputrec;
inputrec.Open (&inquery,dbOpenDynaset);
 idstr.Format (_T("[序号]=%d"),id);
if(!inputrec.FindFirst (idstr))
{inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
AfxMessageBox("数据库错误,请关闭");
return;
}



  try
{
  inputrec.Delete ();
   
}
catch( CDaoException* e )
{e->ReportError ();
    //AfxMessageBox("错误");
	e->Delete( );
        inputrec.Close ();
	inquery.Close ();
	kaoqingbu.Close ();
	personcodeet.SetFocus ();
	return;
 }
sharelist.DeleteItem (sharelistindex);

inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personname=personcode=(_T(""));
UpdateData (false);
workdayset.SetWindowText (_T("0"));
workdayset2.SetWindowText (_T("0"));
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
personcodeet.SetFocus ();
addormodi=0;
}

void CkaoqingDlg::OnBnClickedButton7()
{refreshlist (true);
personcodeet.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
deletebt.EnableWindow (false);
// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnCbnSelchangeCombo2()
{//refreshlist (true);
	// TODO: 在此添加控件通知处理程序代码
}

long CkaoqingDlg::refreshlist(bool condition)
{long count=0;
CString conditionstr,oldquerystr; 

CString tempnumberstr,idstr,workdaysstr,workdaysstr2;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
//if(year==""){MessageBox("请确定年份");return 0;}
CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库

CDaoQueryDef inquery(&kaoqingbu),conquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));
oldquerystr=inquery.GetSQL ();
if(condition)
  {if(year=="")
     {if(filllistrec.IsOpen ()) filllistrec.Close ();
        inquery.Close ();
        kaoqingbu.Close ();
        MessageBox("请确定年份");
       return 0;
      }

if (useall)
conditionstr.Format (" WHERE 考勤记录表.人员编号 like '*%s*' and 人员编码表.姓名 like '*%s*'  and 考勤记录表.月份 like '*%s*' and 考勤记录表.出勤单位 like '*%s*' and 考勤记录表.岗位 like '*%s*' and 考勤记录表.年份 like '*%s*';",personcode,personname,month,unit,job,year);
else
conditionstr.Format (" WHERE 考勤记录表.人员编号 like '*%s*' and 人员编码表.姓名 like '*%s*'and 考勤记录表.年份 like '*%s*';",personcode,personname,year);

oldquerystr.Replace (";",conditionstr);
conquery.Create (0,oldquerystr);//创建临时查询
filllistrec.Open (&conquery,dbOpenDynaset);
}
else
filllistrec.Open (&inquery,dbOpenDynaset);

sharelist.DeleteAllItems ();
if(filllistrec.IsBOF ()) 
{filllistrec.Close ();inquery.Close ();kaoqingbu.Close ();return 0;}//记录集为空,则直接返回
while(!filllistrec.IsEOF ())
{idstr.Format ("%d",V_I4(&filllistrec.GetFieldValue( 0 )));
 sharelist.InsertItem  (count,idstr);
 sharelist.SetItemText (count,1,CString(V_BSTRT(&filllistrec.GetFieldValue( 1 ))));
 sharelist.SetItemText (count,2,CString(V_BSTRT(&filllistrec.GetFieldValue( 2 ))));
 
 workdaysstr.Format ("%.2f",V_R8(&filllistrec.GetFieldValue( 3 )));
 sharelist.SetItemText (count,3,workdaysstr);
 
 workdaysstr2.Format ("%.2f",V_R8(&filllistrec.GetFieldValue( 4 )));
 sharelist.SetItemText (count,4,workdaysstr2);
 
 sharelist.SetItemText (count,5,CString(V_BSTRT(&filllistrec.GetFieldValue( 5 ))));
 sharelist.SetItemText (count,6,CString(V_BSTRT(&filllistrec.GetFieldValue( 6 ))));
 sharelist.SetItemText (count,7,CString(V_BSTRT(&filllistrec.GetFieldValue( 7 ))));
 sharelist.SetItemText (count,8,CString(V_BSTRT(&filllistrec.GetFieldValue( 8 ))));




filllistrec.MoveNext ();
count++;
}






filllistrec.Close ();
inquery.Close ();
kaoqingbu.Close ();

double sumalldays1=0,sumalldays2=0;
for(int i=0;i<sharelist.GetItemCount ();i++)
{
sumalldays1=sumalldays1+atof(CString(sharelist.GetItemText (i,3)));
sumalldays2=sumalldays2+atof(CString(sharelist.GetItemText (i,4)));
}

hejistr.Format ("列表中正班合计:%.2f  副班合计:%.2f",sumalldays1,sumalldays2);
UpdateData (false);

	return count;
}



void CkaoqingDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
 sharelistindex=sharelist.GetSelectionMark ();
	if(sharelistindex>=0)	 
	{id=atol(CString(sharelist.GetItemText (sharelistindex,0)));
	 personcode=CString(sharelist.GetItemText (sharelistindex,1));
	 personname=CString(sharelist.GetItemText (sharelistindex,2));
	 month=CString(sharelist.GetItemText (sharelistindex,5));
	 unit=CString(sharelist.GetItemText (sharelistindex,6));
	 job=CString(sharelist.GetItemText (sharelistindex,7));
	 year=CString(sharelist.GetItemText (sharelistindex,8));
	 UpdateData (false);

	 workdayset.SetWindowText (CString(sharelist.GetItemText (sharelistindex,3)));
	 workdayset2.SetWindowText (CString(sharelist.GetItemText (sharelistindex,4)));
	 
	 personcodeet.SetFocus ();
	addbt.EnableWindow (false);
	modibt.EnableWindow (true);
	nomodibt.EnableWindow (true);
	deletebt.EnableWindow (true);
	addormodi=1;
	}
	*pResult = 0;
}

void CkaoqingDlg::OnBnClickedButton14()
{refreshlist (false);
yearcombo.SetCurSel (0);
personcodeet.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnClickedButton6()
{if(addunit.DoModal ()==IDOK)
workunitcombo.AddString (addunit.unitname);
	// TODO: 在此添加控件通知处理程序代码
}

BOOL CkaoqingDlg::PreTranslateMessage(MSG* pMsg)
{//CString key;
	//if(	::GetAsyncKeyState(VK_LCONTROL)!=0)
	//	if(GetAsyncKeyState(VK_RETURN)!=0) {OnBnClickedButton3(); return true;}
	
	if(pMsg->message ==WM_KEYDOWN)
		switch(pMsg->wParam)
	          {case VK_RETURN:if(GetAsyncKeyState(VK_LCONTROL)!=0) {if(addormodi==0)
			                                                        OnBnClickedButton2();
			                                                        else OnBnClickedButton3();
                                                                     return true;
			                                                        }
	                         
			                  switch(focus2)
                              {case 1: OnBnClickedButton5(); break;
		                       case 2: OnBnClickedButton6();break;
							   case 10:OnBnClickedButton2();break;
							   case 11:OnBnClickedButton3(); break;
							   case 12:OnBnClickedButton4(); break;
							   case 14:OnBnClickedButton7(); break;
							   case 15:OnBnClickedButton14(); break;
							   case 17:OnBnClickedButton10(); break;

							   default:{NextDlgCtrl();return TRUE;}
							  }
                             return TRUE;//对应case VK_RETURN:    	 
				case VK_LEFT:{PrevDlgCtrl();return TRUE;}
				case VK_RIGHT:{NextDlgCtrl();return TRUE;}
               
				case VK_ESCAPE:   return TRUE; 
		      }

	return CDialog::PreTranslateMessage(pMsg);
}

void CkaoqingDlg::OnBnSetfocusButton5()
{focus2=1;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton5()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton6()
{focus2=2;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton6()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton2()
{focus2=10;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton2()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton3()
{focus2=11;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton3()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton4()
{focus2=12;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton4()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton7()
{focus2=14;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton7()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton14()
{focus2=15;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton14()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}



void CkaoqingDlg::OnBnClickedButton10()
{CString tempnumberstr,idstr;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));

UpdateData (true);
if(year==""){yearcombo.SetFocus ();AfxMessageBox("请确定年份");return;}
this->ShowWindow (SW_HIDE);
reportdlg rp;
rp.yearstr=year;
rp.DoModal ();
this->ShowWindow (SW_SHOW);
personcodeet.SetFocus ();


	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnSetfocusButton10()
{focus2=17;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::OnBnKillfocusButton10()
{focus2=0;
	// TODO: 在此添加控件通知处理程序代码
}

void CkaoqingDlg::closerefdlg(void)
{cdlg =NULL;
}

void CkaoqingDlg::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{CMenu delmenu;
CRect r;
delmenu.CreatePopupMenu ();
delmenu.TrackPopupMenu (TPM_LEFTALIGN,20,20,this,0);
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}

⌨️ 快捷键说明

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