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

📄 kaoqingdlg.cpp

📁 access dao 数据库
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// kaoqingDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "kaoqing.h"
#include "kaoqingDlg.h"
#include "Windows.h"
#include "oderefdlg.h"
#include ".\kaoqingdlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// 对话框数据
	enum { IDD = IDD_ABOUTBOX };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

// 实现
protected:
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// CkaoqingDlg 对话框



CkaoqingDlg::CkaoqingDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CkaoqingDlg::IDD, pParent)
	, workdays(0)
	, personcode(_T(""))
	, personname(_T(""))
	, month(_T(""))
	, unit(_T(""))
	, job(_T(""))
	, year(_T(""))
     ,cdlg(NULL)
	, focus2(0)
	, sharelistindex(0)
	, id(0)
	, workdays2(0)
	, hejistr(_T(""))
	, addormodi(0)
	, x(0)
	, useall(FALSE)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
 


}

void CkaoqingDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST1, sharelist);
	//DDX_Control(pDX, IDC_STATIC1, chshh);
	DDX_Control(pDX, IDC_BUTTON10, sumallbt);
	DDX_Control(pDX, IDC_BUTTON9, closebt);
	DDX_Control(pDX, IDC_BUTTON5, personrgbt);
	DDX_Control(pDX, IDC_BUTTON6, unitrgbt);
	DDX_Control(pDX, IDC_BUTTON2, addbt);
	DDX_Control(pDX, IDC_BUTTON3, modibt);
	DDX_Control(pDX, IDC_BUTTON4, nomodibt);
	DDX_Control(pDX, IDC_BUTTON7, searchbt);
	DDX_Control(pDX, IDC_BUTTON12, deletebt);
	DDX_Control(pDX, IDC_COMBO1, monthcombo);
	DDX_Control(pDX, IDC_COMBO3, workunitcombo);
	DDX_Text(pDX, IDC_EDIT2, workdays);

	DDX_Control(pDX, IDC_EDIT1, personcodeet);
	DDX_Control(pDX, IDC_EDIT3, personnameet);
	DDX_Control(pDX, IDC_EDIT2, workdayset);
	DDX_Text(pDX, IDC_EDIT1, personcode);
	DDX_Text(pDX, IDC_EDIT3, personname);
	DDX_Control(pDX, IDC_COMBO4, jobcombo);
	DDX_CBString(pDX, IDC_COMBO1, month);
	DDX_CBString(pDX, IDC_COMBO3, unit);
	DDX_CBString(pDX, IDC_COMBO4, job);
	DDX_Control(pDX, IDC_COMBO2, yearcombo);
	DDX_CBString(pDX, IDC_COMBO2, year);
	DDX_Control(pDX, IDC_BUTTON14, showallbt);
	//DDX_Control(pDX, IDC_STATIC2, chooseonebt);
	//DDX_Control(pDX, IDC_STATIC3, choosetwobt);
	DDX_Control(pDX, IDC_EDIT5, workdayset2);
	DDX_Text(pDX, IDC_EDIT5, workdays2);
	DDX_Text(pDX, IDC_HEJIST, hejistr);
	DDX_Control(pDX, IDC_HEJIST, hejist);
	DDX_Check(pDX, IDC_CHECK1, useall);
}

BEGIN_MESSAGE_MAP(CkaoqingDlg, CDialog)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_BUTTON9, OnBnClickedButton9)
	ON_BN_CLICKED(IDC_BUTTON5, OnBnClickedButton5)
//	ON_WM_KEYDOWN()
	//ON_CBN_EDITCHANGE(IDC_COMBO5, OnCbnEditchangeCombo5)
	ON_WM_ERASEBKGND()
	//ON_NOTIFY(NM_THEMECHANGED, IDC_COMBO5, OnNMThemeChangedCombo5)
	ON_EN_CHANGE(IDC_EDIT1, OnEnChangeEdit1)
	ON_EN_CHANGE(IDC_EDIT3, OnEnChangeEdit3)
	ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
	ON_BN_CLICKED(IDC_BUTTON4, OnBnClickedButton4)
	ON_BN_CLICKED(IDC_BUTTON12, OnBnClickedButton12)
	ON_BN_CLICKED(IDC_BUTTON7, OnBnClickedButton7)
	ON_CBN_SELCHANGE(IDC_COMBO2, OnCbnSelchangeCombo2)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnNMDblclkList1)
	ON_BN_CLICKED(IDC_BUTTON14, OnBnClickedButton14)
	ON_BN_CLICKED(IDC_BUTTON6, OnBnClickedButton6)
	ON_BN_SETFOCUS(IDC_BUTTON5, OnBnSetfocusButton5)
	ON_BN_KILLFOCUS(IDC_BUTTON5, OnBnKillfocusButton5)
	ON_BN_SETFOCUS(IDC_BUTTON6, OnBnSetfocusButton6)
	ON_BN_KILLFOCUS(IDC_BUTTON6, OnBnKillfocusButton6)
	ON_BN_SETFOCUS(IDC_BUTTON2, OnBnSetfocusButton2)
	ON_BN_KILLFOCUS(IDC_BUTTON2, OnBnKillfocusButton2)
	ON_BN_SETFOCUS(IDC_BUTTON3, OnBnSetfocusButton3)
	ON_BN_KILLFOCUS(IDC_BUTTON3, OnBnKillfocusButton3)
	ON_BN_SETFOCUS(IDC_BUTTON4, OnBnSetfocusButton4)
	ON_BN_KILLFOCUS(IDC_BUTTON4, OnBnKillfocusButton4)
	ON_BN_SETFOCUS(IDC_BUTTON7, OnBnSetfocusButton7)
	ON_BN_KILLFOCUS(IDC_BUTTON7, OnBnKillfocusButton7)
	ON_BN_SETFOCUS(IDC_BUTTON14, OnBnSetfocusButton14)
	ON_BN_KILLFOCUS(IDC_BUTTON14, OnBnKillfocusButton14)
	ON_BN_CLICKED(IDC_BUTTON10, OnBnClickedButton10)
	ON_BN_SETFOCUS(IDC_BUTTON10, OnBnSetfocusButton10)
	ON_BN_KILLFOCUS(IDC_BUTTON10, OnBnKillfocusButton10)
	ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnNMRclickList1)
END_MESSAGE_MAP()


// CkaoqingDlg 消息处理程序

BOOL CkaoqingDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 将\“关于...\”菜单项添加到系统菜单中。

	// IDM_ABOUTBOX 必须在系统命令范围内。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}
//mypass.DoModal ();
	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标
     sharelist.SetTextColor(RGB(0,0,0));
	 sharelist.SetTextBkColor(RGB(220,235,220));//文本背景色
	 sharelist.SetBkColor(RGB(200,220,220));//背景色
     sharelist.SetExtendedStyle (LVS_EX_GRIDLINES|LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_EX_FLATSB);
	
	 sharelist.InsertColumn (0,_T("序号"));
	 sharelist.InsertColumn (1,_T("人员编号"),LVCFMT_CENTER,-1,-1);
	 sharelist.InsertColumn (2,_T("姓名"),LVCFMT_CENTER,-1,-1);
	 sharelist.InsertColumn (3,_T("正班"),LVCFMT_CENTER,-1,-1);
	 sharelist.InsertColumn (4,_T("副班"),LVCFMT_CENTER,-1,-1);
	 sharelist.InsertColumn (5,_T("月份"),LVCFMT_CENTER,-1,-1);
     sharelist.InsertColumn (6,_T("出勤单位"),LVCFMT_CENTER,-1,-1);
     sharelist.InsertColumn (7,_T("岗位"),LVCFMT_CENTER,-1,-1);
     sharelist.InsertColumn (8,_T("年份"),LVCFMT_CENTER,-1,-1);
	 
	 sharelist.SetColumnWidth (0,40); 


this->ShowWindow (SW_MAXIMIZE);	 

refreshcombo ();
CString yearstr;
for(int i=2003;i<=2104;i++)
{yearstr.Format ("%d",i);
yearcombo.AddString (yearstr);
}

sharelistindex=-1;


addormodi=0;

//kaoqingbu.Close ();
// TODO: 在此添加额外的初始化代码
	
	return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

void CkaoqingDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。

void CkaoqingDlg::OnPaint() 
{ CPaintDC dc(this);
  CRect rect,rect2;
  GetClientRect (&rect);
  //chshh. MoveWindow (5,0,rect.Width ()-10,50);
  sharelist.MoveWindow (5,180,rect.Width ()-10,rect.Height ()-220);
  sharelist.SetColumnWidth (0,(rect.Width ()-10)/10); 	
  sharelist.SetColumnWidth (1,(rect.Width ()-10)/10); 	
  sharelist.SetColumnWidth (2,(rect.Width ()-10)/10); 	
  sharelist.SetColumnWidth (3,(rect.Width ()-10)/10);
  sharelist.SetColumnWidth (4,(rect.Width ()-10)/10);
  sharelist.SetColumnWidth (5,(rect.Width ()-10)/10); 	
  sharelist.SetColumnWidth (6,(rect.Width ()-10)/5); 	
  sharelist.SetColumnWidth (7,(rect.Width ()-10)/10); 	
  sharelist.SetColumnWidth (8,(rect.Width ()-10)/10); 	
  
  
  
  
  closebt.GetClientRect (&rect2);
  closebt.MoveWindow (rect.Width() -10-rect2.Width (),rect.Height ()-35,rect2.Width (),rect2.Height ());
   
  hejist.GetClientRect (&rect2);
  hejist.MoveWindow (250,rect.Height ()-30,rect2.Width (),rect2.Height ());
  
  CFont font1,*oldfont;
  //font1.CreatePointFont (130,"宋体");
  
   dc.SetBkMode (TRANSPARENT);
   
  if(rect.Width ()>767)
  {font1.CreatePointFont (200,"隶书");
  oldfont=dc.SelectObject (&font1);
  COLORREF OldColor =dc.SetTextColor (::GetSysColor( COLOR_3DHILIGHT));
  dc.TextOut (rect.Width ()*0.58,20,"北京项目管理公司出品 作者:曹林杰");
  dc.SetTextColor (::GetSysColor( COLOR_3DSHADOW));
  dc.TextOut (rect.Width ()*0.58-1,19,"北京项目管理公司出品 作者:曹林杰");
  dc.SetTextColor (OldColor);
  dc.SelectObject (oldfont);
  }

  else

  {font1.CreatePointFont (100,"宋体");
  oldfont=dc.SelectObject (&font1);
  COLORREF OldColor =dc.SetTextColor (::GetSysColor( COLOR_3DHILIGHT));
  dc.TextOut (20,rect.Height ()-29,"北京项目管理公司出品 作者:曹林杰");
  dc.SetTextColor (::GetSysColor( COLOR_3DSHADOW));
  dc.TextOut (19,rect.Height ()-30,"北京项目管理公司出品 作者:曹林杰");
  dc.SetTextColor (OldColor);
  dc.SelectObject (oldfont);
  }

  //sumallbt.MoveWindow (5,rect.Height ()-30,88,30);
  CDialog::OnPaint();
	
}

//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CkaoqingDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CkaoqingDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialog::OnSize(nType, cx, cy);
    Invalidate ();
    CenterWindow ();
	// TODO: 在此处添加消息处理程序代码
}

//void CkaoqingDlg::OnOK()
//{
//	// TODO: 在此添加专用代码和/或调用基类
//
//	//CDialog::OnOK();
//}

void CkaoqingDlg::OnBnClickedButton9()
{
	CDialog::OnCancel();
}

//void CkaoqingDlg::OnCancel()
//{
//	// TODO: 在此添加专用代码和/或调用基类
//	CDialog::OnCancel();
//}

void CkaoqingDlg::OnBnClickedButton5()
{//人员登记
addpersondlg addp(this);
addp.addpersoncode =this->personcode;
addp.addpersonname =this->personname; ;
//addp.UpdateData (false);

addp.DoModal ();
//cdlg->refreshreflist (false);	
workdayset.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
addormodi=0;
// TODO: 在此添加控件通知处理程序代码
}

//void CkaoqingDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
//{
//	// TODO: 在此添加消息处理程序代码和/或调用默认值
//this->NextDlgCtrl ();
//	CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
//}





BOOL CkaoqingDlg::OnEraseBkgnd(CDC* pDC)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
//return true;
	///pDC->RealizePalette ();
	//CRect rect;
	//this->GetClientRect (rect);
	//CBrush brush;
	//brush.CreateHatchBrush (6,RGB(212,208,200));
	//pDC->FillRect (rect,&brush);
	//pDC->SelectObject (&brush);
	//pDC->SetTextColor (RGB(100,20,10));(
	//pDC->TextOut (1,1,"fdafd");
	//return true;
	return CDialog::OnEraseBkgnd(pDC);
	//return true;
}





void CkaoqingDlg::refreshcombo(void)
{CDaoRecordset unitrec;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
unitrec.m_pDatabase=&kaoqingbu;
unitrec.Open (dbOpenDynaset, _T("select * from [工地登记表]"));

if(unitrec.IsBOF ()) {unitrec.Close ();kaoqingbu.Close (); return;}

while (!unitrec.IsEOF ())
	{workunitcombo.AddString (CString(V_BSTRT(&unitrec.GetFieldValue( 0 ))));
	 unitrec.MoveNext ();
	 
	}
unitrec.Close ();kaoqingbu.Close ();


	return ;
}

void CkaoqingDlg::OnEnChangeEdit1()
{
 CString tempnumberstr;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText (_T("0"));
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
if(this->cdlg ==NULL)
{cdlg=new coderefdlg(this);
 cdlg->Create (IDD_DIALOG1);
}

UpdateData (true);
personname=_T("");
UpdateData (false);


cdlg->refcode =personcode;
cdlg->refname ="" ;
personcodeet.GetWindowText (tempnumberstr);
x=cdlg->refreshreflist (true);
cdlg->ShowWindow (SW_SHOW);
if(x==1&&tempnumberstr==cdlg->getcode)
{personcode=cdlg->getcode;
personname=cdlg->getname ;
UpdateData (false);
this->personnameet.SetFocus ();
}
else
 personcodeet.SetFocus ();
 




	
}

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

UpdateData (true);
personcode=_T("");
UpdateData (false);
if(this->cdlg ==NULL)
{cdlg=new coderefdlg(this);
 cdlg->Create (IDD_DIALOG1);
}

cdlg->refname =personname;
cdlg->refcode ="";
personnameet.GetWindowText (tempnumberstr);
x=cdlg->refreshreflist (true);
cdlg->ShowWindow (SW_SHOW);
if(x==1&&tempnumberstr==cdlg->getname)
{personcode=cdlg->getcode;
personname=cdlg->getname ;
UpdateData (false);
}

 personnameet.SetFocus ();
 
 //personcodeet.SetFocus ();

 
 
 

}

bool CkaoqingDlg::isvalidnumber(CString nstr)
{if(nstr==_T("")) return false;
int dot=0;
char tempstr;
for(int i=0;i<nstr.GetLength ();i++)
{tempstr=nstr.GetAt (i);
if(tempstr!='.') {if(!(tempstr>='0'&&tempstr<='9'))  return false;}
else dot++;

}
	if(dot>1) return false;
	//AfxMessageBox("fdafdafd");
	return true;
	
}

void CkaoqingDlg::OnBnClickedButton2()
{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);
  try
{
  inputrec.AddNew ();
  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;

⌨️ 快捷键说明

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