亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? page1.cpp

?? 考勤管理系統。 能夠運行;開發方式:ACCESS+VC++ 代碼很詳細
?? CPP
字號:
// Page1.cpp : implementation file
//

#include "stdafx.h"
#include "Attendance.h"
#include "Page1.h"
#include "DepartRS.h"
#include "PersonRS.h"
#include "CounterRS.h"
#include "AttDlg.h"

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

extern CDatabase db;
/////////////////////////////////////////////////////////////////////////////
// CPage1 property page

IMPLEMENT_DYNCREATE(CPage1, CPropertyPage)

CPage1::CPage1() : CPropertyPage(CPage1::IDD)
{
	// 得到當前時間并格式化
	CTime t=CTime::GetCurrentTime();
	CString str=t.Format("%Y-%m-%d %H:%M");
	//{{AFX_DATA_INIT(CPage1)
	m_strIOTime = str;
	m_strDepartID = _T("");
	m_strDepartName = _T("");
	m_strPersonID = _T("");
	m_strPersonName = _T("");
	//}}AFX_DATA_INIT
}

CPage1::~CPage1()
{
}

void CPage1::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPage1)
	DDX_Control(pDX, IDC_LIST1, m_cList);
	DDX_Control(pDX, IDC_PROGRESS1, m_cProgress);
	DDX_Text(pDX, IDC_EDT_IOTIME, m_strIOTime);
	DDX_Text(pDX, IDC_EDT_DEPARTID, m_strDepartID);
	DDX_Text(pDX, IDC_EDT_DEPARTNAME, m_strDepartName);
	DDX_Text(pDX, IDC_EDT_PERSONID, m_strPersonID);
	DDX_Text(pDX, IDC_EDT_PERSONNAME, m_strPersonName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPage1, CPropertyPage)
	//{{AFX_MSG_MAP(CPage1)
	ON_EN_CHANGE(IDC_EDT_DEPARTID, OnChangeEdtDepartid)
	ON_EN_CHANGE(IDC_EDT_PERSONID, OnChangeEdtPersonid)
	ON_BN_CLICKED(IDC_BTN_ADDPERSON, OnBtnAddperson)
	ON_BN_CLICKED(IDC_BTN_ADDDEPART, OnBtnAdddepart)
	ON_BN_CLICKED(IDC_BTN_ADDALL, OnBtnAddall)
	ON_BN_CLICKED(IDC_BTN_DELETEATTEND, OnBtnDeleteattend)
	ON_BN_CLICKED(IDC_BTN_SEEKIO, OnBtnSeekio)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPage1 message handlers

BOOL CPage1::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// 出入情況缺省為出
	((CButton*)GetDlgItem(IDC_RADIO_OUT))->SetCheck(TRUE);
	// 為List添加網格
	m_cList.SetExtendedStyle(LVS_EX_GRIDLINES);
	// 設置List的列
	int nWidth=110;
	m_cList.InsertColumn(0, "記錄編號", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(1, "員工號", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(2, "出入情況", LVCFMT_LEFT, nWidth);
	m_cList.InsertColumn(3, "時間", LVCFMT_LEFT, nWidth);
	CAttendanceRS rs(&db); // 構造出勤記錄表
	UpdateList(rs); // 更新List
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPage1::OnChangeEdtDepartid() 
{
	UpdateData(); // 更新數據

	CDepartRS rs(&db); // 構造記錄集
	rs.m_strFilter = "ID='" + m_strDepartID + "'"; // 設置過濾條件
	rs.Open(); // 打開記錄集
	if(rs.GetRecordCount()==1) // 判斷部門代碼輸入是否正確
	{
		m_strDepartName=rs.m_NAME; // 提取部門名稱
	}
	else m_strDepartName.Empty(); // 清除部門名稱
	rs.Close(); // 關閉記錄集
	UpdateData(FALSE); // 更新界面數據
}

void CPage1::OnChangeEdtPersonid() 
{
	UpdateData(); // 更新數據

	CPersonRS rs(&db); // 構造PERSON記錄表
	rs.m_strFilter = "ID='" + m_strPersonID + "'"; // 設置過濾條件
	rs.Open(); // 打開記錄表
	if(rs.GetRecordCount()==1) // 判斷員工號是否正確
	{
		m_strPersonName=rs.m_NAME; // 提取員工姓名
		m_strDepartID=rs.m_DEPARTMENT; // 提取員工所在部門編號
	}
	else m_strPersonName.Empty(); // 清除員工姓名顯示
	rs.Close(); // 關閉記錄表
	UpdateData(FALSE); // 更新界面數據
	OnChangeEdtDepartid(); // 顯示部門名稱
}

// 添加出勤記錄函數
void CPage1::IO_Add(CString strPersonID)
{
	int counter; // 用于計數
	CString strIO; // 保存出入情況
	CCounterRS rs_counter(&db); // 構造計數器記錄表
// 記錄編號
	rs_counter.m_strFilter = "ID='A'"; // 設置過濾器,提取計數值
	rs_counter.Open(); // 打開計數器記錄表
	counter=rs_counter.m_COUNTER_VALUE; // 提取計數值
	counter++; // 計數值加1
	rs_counter.Edit(); // 編輯計數器
	rs_counter.m_COUNTER_VALUE=counter; // 保存當前計數
	rs_counter.Update(); // 提交修改
	rs_counter.Close(); // 關閉計數器記錄表
// 添加記錄
	// 判斷確定出入情況
	if(((CButton*)GetDlgItem(IDC_RADIO_OUT))->GetCheck())
		strIO="O";
	else strIO="I";
	// 轉換出入時間類型
	int nYear,nMonth,nDay,nHour,nMinute; // 年,月,日,時,分
	sscanf(m_strIOTime.Left(4), "%d", &nYear); // 得到年
	sscanf(m_strIOTime.Mid(5,2), "%d", &nMonth); // 得到月
	sscanf(m_strIOTime.Mid(8,2), "%d", &nDay); // 得到日
	sscanf(m_strIOTime.Mid(11,2), "%d", &nHour); // 得到時
	sscanf(m_strIOTime.Mid(14,2), "%d", &nMinute); // 得到分
	// 得到出入時間
	CTime IO_time(nYear,nMonth,nDay,nHour,nMinute,0);
	CAttendanceRS rs_attendance(&db); // 構造考勤記錄表
	rs_attendance.Open(); // 打開考勤記錄表
	rs_attendance.AddNew(); // 追加考勤記錄
	rs_attendance.m_ID=counter;
	rs_attendance.m_PERSON=strPersonID;
	rs_attendance.m_IN_OUT=strIO;
	rs_attendance.m_IO_TIME=IO_time;
	rs_attendance.Update();
	rs_attendance.Close(); // 關閉考勤記錄表
	UpdateList(rs_attendance); // 更新列表框
}

void CPage1::OnBtnAddperson() // 追加單個員工考勤記錄
{
	if(!m_strPersonName.IsEmpty()) // 判斷員工是否存在
	{
		IO_Add(m_strPersonID); // 追加單個員工記錄
	}
}

void CPage1::OnBtnAdddepart() // 追加部門員工考勤記錄
{
	int i,n; // 用于保存記錄條數
	CPersonRS rs_person(&db); // 構造員工信息表

	if(m_strDepartName.IsEmpty()) return; // 判斷部門代號是否正確
	// 設置過濾條件
	rs_person.m_strFilter="DEPARTMENT='"+m_strDepartID+"' and STATE='T'";
	rs_person.Open(); // 打開員工信息表
	n=rs_person.GetRecordCount(); // 獲取員工人數
	i=0; // 初始化已添加記錄條數
	// 初始化進度條
	m_cProgress.SetRange(0, n);
	m_cProgress.SetPos(0);
	while(!rs_person.IsEOF()) // 對數據表中所有記錄進行處理
	{
		IO_Add(rs_person.m_ID); // 添加當前員工出勤記錄
		rs_person.MoveNext(); // 跳到下一個員工記錄
		m_cProgress.SetPos(++i); // 顯示進度
	}
	rs_person.Close(); // 關閉員工信息表
}

void CPage1::OnBtnAddall() // 添加所有員工出勤記錄
{
	int i,n; // 用于保存記錄條數
	CPersonRS rs_person(&db); // 構造員工信息表

	// 設置過濾條件,提取員工列表
	rs_person.m_strFilter = "STATE='T'";
	rs_person.Open(); // 打開員工信息表
	n=rs_person.GetRecordCount(); // 獲取員工人數
	i=0; // 初始化已添加記錄條數
	// 初始化進度條
	m_cProgress.SetRange(0, n);
	m_cProgress.SetPos(0);
	while(!rs_person.IsEOF()) // 對數據表中所有記錄進行處理
	{
		IO_Add(rs_person.m_ID); // 添加當前員工出勤記錄
		rs_person.MoveNext(); // 跳到下一個員工記錄
		m_cProgress.SetPos(++i); // 顯示進度
	}
	rs_person.Close(); // 關閉員工信息表
}

void CPage1::UpdateList(CAttendanceRS& rs) // 更新列表框內容
{
	int i=0;
	CString strID,strTime;
	rs.Open(); // 打開出勤記錄表
	m_cList.DeleteAllItems(); // 清除列表框內容
	while(!rs.IsEOF()) // 對數據表中所有記錄進行處理
	{
		m_cList.InsertItem(i, ""); // 添加新Item
		strID.Format("%d", rs.m_ID); // 轉換為字符串
		m_cList.SetItemText(i, 0, strID);
		m_cList.SetItemText(i, 1, rs.m_PERSON);
		m_cList.SetItemText(i, 2, rs.m_IN_OUT);
		m_cList.SetItemText(i, 3, rs.m_IO_TIME.Format("%Y-%m-%d %H:%M"));
		rs.MoveNext(); // 跳到下一條記錄
		i++;
	}
	rs.Close(); // 關閉出勤記錄表
}

void CPage1::OnBtnDeleteattend() // 刪除出勤記錄列表中所選記錄
{
	CString strSQL;
	int nItem;
	// 得到第一個被選擇Item的位置
	POSITION pos = m_cList.GetFirstSelectedItemPosition();
	if(pos==NULL)
	{
		AfxMessageBox("沒有選擇記錄!");
		return;
	}
	while(pos) // 遍歷所有被選Item
	{
		nItem=m_cList.GetNextSelectedItem(pos); // 得到Item Index
		// 構造SQL語句
		strSQL="delete from ATTENDANCE where ID="
			+ m_cList.GetItemText(nItem, 0);
		db.ExecuteSQL(strSQL); // 執行
	}
	CAttendanceRS rs(&db); // 構造出勤記錄表
	UpdateList(rs); // 更新列表框
}

void CPage1::OnBtnSeekio() 
{
	CAttendanceRS rs(&db); // 構造出勤記錄表

	CAttDlg *pDlg; // 指向包含本對象的CAttDlg的指針
	CString strFilter; // 用于保存過濾字符串
	CString strSTime,strETime; // 起始,結束時間

	pDlg=(CAttDlg*)GetParent()->GetParent(); // 得到指針
	pDlg->UpdateData(); // 更新數據

	strSTime=pDlg->m_StartTime.Format("%Y-%m-%d");
	strETime=pDlg->m_EndTime.Format("%Y-%m-%d");

	if(pDlg->m_bSeekbyperson) // 判斷是否根據員工號檢索
		strFilter="PERSON='" + pDlg->m_strPersonID + "'"; // 添加過濾條件
	if(pDlg->m_bSeekbytime) // 判斷是否有時間范圍
	{
		if(strFilter.GetLength()>0) // 判斷是否已有過濾條件
			strFilter += " and "; //如果是,需要添加and連接符
		strFilter += "IO_TIME>#" + strSTime + "#"; // 添加開始時間過濾
		strFilter += " and IO_TIME<#" + strETime + "#"; // 添加結束時間過濾
	}
	if(strFilter.GetLength()>0) // 判斷是否有過濾條件
		rs.m_strFilter=strFilter; // 設置Filter
	UpdateList(rs); // 更新列表框
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品视频网| 国产精品剧情在线亚洲| 日韩国产欧美三级| 欧美日韩一级片网站| 亚洲 欧美综合在线网络| 欧美日韩国产在线观看| 三级一区在线视频先锋 | 午夜伊人狠狠久久| 欧美日韩久久久一区| 日韩**一区毛片| 精品裸体舞一区二区三区| 国产成人综合视频| 中文字幕一区二区三区不卡| 在线视频亚洲一区| 一区二区三区四区av| 欧美理论在线播放| 老司机精品视频在线| 中文子幕无线码一区tr| 日本国产一区二区| 奇米精品一区二区三区在线观看 | 国产·精品毛片| 亚洲日本va在线观看| 日韩一区二区在线观看视频| 国产成人免费xxxxxxxx| 亚洲第四色夜色| 久久精品一区二区三区不卡| 色婷婷狠狠综合| 免费人成黄页网站在线一区二区| 久久久蜜臀国产一区二区| 91视频免费观看| 久久精品国产77777蜜臀| 国产精品视频麻豆| 91精品国产欧美日韩| 不卡的av在线播放| 麻豆中文一区二区| **欧美大码日韩| 精品国产一区二区三区久久久蜜月 | 国产精品99久久久久久久女警| 亚洲欧美偷拍三级| 精品久久久久一区| 欧美日韩综合色| 成人精品gif动图一区| 日韩成人精品在线| 亚洲乱码中文字幕综合| 久久网这里都是精品| 欧美三片在线视频观看| 不卡的电视剧免费网站有什么| 奇米影视在线99精品| 成人欧美一区二区三区小说| 精品免费国产一区二区三区四区| 色综合久久综合中文综合网| 国产成人免费视| 久久99精品一区二区三区三区| 亚洲一卡二卡三卡四卡无卡久久| 国产亚洲精品aa| 日韩欧美一区在线| 欧美午夜精品一区二区三区| jizz一区二区| 国产又粗又猛又爽又黄91精品| 性欧美大战久久久久久久久| 国产精品福利影院| 国产精品入口麻豆原神| www日韩大片| 日韩视频一区在线观看| 777色狠狠一区二区三区| 日本高清免费不卡视频| av一二三不卡影片| 成人免费毛片app| 国产精品1024久久| 国产精品亚洲视频| 国产中文一区二区三区| 久久精品国产亚洲高清剧情介绍| 丝袜诱惑亚洲看片| 亚洲福利一区二区| 亚洲成人综合视频| 午夜精品福利一区二区三区av| 亚洲一区日韩精品中文字幕| 亚洲资源在线观看| 性做久久久久久久久| 日本欧美一区二区| 久国产精品韩国三级视频| 久久精品国产澳门| 国产一区二区影院| 成人毛片视频在线观看| 9i在线看片成人免费| 色哟哟欧美精品| 欧美三级视频在线播放| 欧美日韩国产一二三| 欧美精品精品一区| 日韩三级电影网址| 国产亚洲1区2区3区| 国产精品日产欧美久久久久| 亚洲日本中文字幕区| 亚洲午夜精品在线| 美女视频黄a大片欧美| 美女网站一区二区| 成人性生交大片免费看中文网站 | 91影视在线播放| 日本精品一区二区三区高清| 欧美精品日韩一本| 精品精品欲导航| 日本一区二区电影| 亚洲一区二区三区中文字幕在线| 日韩精品一二区| 高清不卡在线观看av| 一本大道久久a久久精二百| 欧美三级一区二区| 中文字幕一区二区三区四区| 亚洲欧美日韩一区二区三区在线观看| 亚洲午夜久久久久| 国产精品资源站在线| 99视频精品全部免费在线| 欧美理论在线播放| 国产精品私房写真福利视频| 亚洲午夜精品久久久久久久久| 精久久久久久久久久久| 91丨国产丨九色丨pron| 日韩一区二区电影网| 国产精品高清亚洲| 美国毛片一区二区| 91久久免费观看| 久久亚洲春色中文字幕久久久| 樱桃视频在线观看一区| 国产精品自拍av| 欧美性videosxxxxx| 久久久久久久久蜜桃| 亚洲h动漫在线| 懂色一区二区三区免费观看| 91精品国产综合久久香蕉的特点 | 国产一区二区视频在线| 91精品1区2区| 国产精品美女久久久久aⅴ国产馆| 亚洲成人午夜电影| av在线播放不卡| 欧美精品一区二区三区久久久 | 精品日韩一区二区| 精品国产亚洲一区二区三区在线观看| 欧美成人高清电影在线| 亚洲激情自拍偷拍| 国产不卡视频在线播放| 日韩美女视频一区二区在线观看| 亚洲一区自拍偷拍| 成人精品视频网站| 日韩你懂的在线播放| 日韩中文字幕一区二区三区| 91色乱码一区二区三区| 国产欧美综合在线观看第十页 | 麻豆精品国产91久久久久久| 91久久精品网| 综合色中文字幕| 成人禁用看黄a在线| 国产亚洲精品福利| 国产一区91精品张津瑜| 日韩女同互慰一区二区| 国产成a人无v码亚洲福利| 国产精品不卡一区| 亚洲精品视频在线观看免费| 成人小视频免费观看| 国产欧美一区二区三区网站 | 韩国精品主播一区二区在线观看 | 日本韩国一区二区三区| 国产精品视频在线看| 国产精品一区二区你懂的| 久久综合色鬼综合色| 国内外成人在线| 欧美成人精精品一区二区频| 毛片一区二区三区| 精品国产乱码久久久久久久| 青青草成人在线观看| 精品少妇一区二区三区| 久久99精品久久只有精品| 久久综合一区二区| 国产一区二区在线观看免费| 国产欧美日韩精品a在线观看| 国产精品乡下勾搭老头1| 欧美经典三级视频一区二区三区| 国产福利一区二区| 国产精品毛片高清在线完整版| www.久久久久久久久| 一区二区三区欧美视频| 欧美日韩中文精品| 天堂蜜桃91精品| 欧美成人a视频| 国产精品一区二区在线观看不卡 | 国产一区二区在线电影| 欧美高清在线视频| 91国产免费观看| 日韩黄色一级片| 欧美videossexotv100| 国产成人免费在线观看不卡| 亚洲欧洲性图库| 欧美喷水一区二区| 国产原创一区二区| 亚洲黄色尤物视频| 51久久夜色精品国产麻豆| 国产精品一色哟哟哟| 亚洲精品v日韩精品| 日韩精品综合一本久道在线视频| 丁香天五香天堂综合| 亚洲成人综合视频|