不同廠家的考勤系統都不太相同,所以最好列出你的考勤軟體名稱。
一般版考勤系統採用的數權據庫有:access、MS SQL Server、MySQL、Interbase等,除access是單機資料庫不用安裝外,其它幾個都需要單獨安裝(安裝時設置訪問帳號及密碼),安裝後資料庫服務正常啟動,這時運行考勤軟體才可以按照對應的帳號密碼連接並創建資料庫。
更多相關考勤文章,可以瀏覽我的考勤博客:
http://blog.sina.com.cn/s/blog_60e281a50100dmlj.html
② 考勤系統資料庫是什麼
不考慮加班,請假,外出之類。
原始記錄表:
1:工作日歷表calendar
2:排班表worktime
3:人事資料表employee
4:異常類別表(遲到,早退,無刷卡...)abnormity
5:考勤記錄表timecard
處理結果表:(能用表或視圖的形式存放)
1: 打卡異常 10001 20031102 上午上班 遲到
2:考勤明細表1: 10001 20031101 07:55/12:01/12:02/13:55/18:00/18:01 列出所有打卡明細
3:考勤明細表2: 10001 20031101 07:55 12:01 13:55 18:00
/*工作日歷表:
如下假設只有三種工作日歷,默認情況如下
1:星期六和星期天不上班
2:星期天不上班
4:每天都上班
*/
create table calendar(
date smalldatetime primary key clustered,
flag1 bit,
flag2 bit,
flag3 bit
)
exec sp_addextendedproperty nms_description, n日期, nuser, ndbo, ntable, ncalendar, ncolumn, ndate
exec sp_addextendedproperty nms_description, n是否上班1, nuser, ndbo, ntable, ncalendar, ncolumn, nflag1
exec sp_addextendedproperty nms_description, n是否上班2, nuser, ndbo, ntable, ncalendar, ncolumn, nflag2
exec sp_addextendedproperty nms_description, n是否上班3, nuser, ndbo, ntable, ncalendar, ncolumn, nflag3
/* 個別錄入資料
insert calendar select 20031101,0,1,1
union all select 20031102,0,0,1
union all select 20031103,1,1,1
union all select 20031104,1,1,1
*/
/*********如下存儲過程用於批量錄入資料**************/
create procere addworkcalendar @bdate smalldatetime,@edate smalldatetime
as
declare @cdate smalldatetime
declare @flag1 bit
declare @flag2 bit
declare @flag3 bit
set @cdate = @bdate
if exists (select * from calendar where cld_rq between @bdate and @edate)
begin
raiserror(已有該范圍的資料,請核對開始日期和結束日期!!!,16,-1)
return
end
while @cdate <= @edate
begin
set @flag1 = (case when datepart(weekday,@cdate) in (1,7) then 0 else 1 end)
set @flag2 = (case when datepart(weekday,@cdate)=1 then 0 else 1 end)
set @flag3 = 1
insert calendar values(@cdate,@flag,@flag1,@flag2)
set @cdate = dateadd(day,1,@cdate)
end
/******** usage:
exec addworkcalendar 20031101,20031130
*********/
/*************
當然,更靈活的方法是如下方式建表:
日期方式標志
20011101 1 0
20011101 2 1
20011101 3 1
...
********************/
/*
2:排班表(為簡單起見,不考慮加班的排班,且只考慮一天最多需四次刷卡的情況)
*/
create table worktime(
worktimeid int primary key clustered,
minb char(5),
mins char(5),
mine char(5),
moutb char(5),
mouts char(5),
moute char(5),
ainb char(5),
ains char(5),
aine char(5),
aoutb char(5),
aouts char(5),
aoute char(5)
)
go
exec sp_addextendedproperty nms_description, n班制編號, nuser, ndbo, ntable, nworktime, ncolumn, nworktimeid
exec sp_addextendedproperty nms_description, n上午上班始, nuser, ndbo, ntable, nworktime, ncolumn, nminb
exec sp_addextendedproperty nms_description, n上午上班標准, nuser, ndbo, ntable, nworktime, ncolumn, nmins
exec sp_addextendedproperty nms_description, n上午上班止, nuser, ndbo, ntable, nworktime, ncolumn, nmine
exec sp_addextendedproperty nms_description, n上午下班始, nuser, ndbo, ntable, nworktime, ncolumn, nmoutb
exec sp_addextendedproperty nms_description, n上午下班標准, nuser, ndbo, ntable, nworktime, ncolumn, nmouts
exec sp_addextendedproperty nms_description, n上午下班止, nuser, ndbo, ntable, nworktime, ncolumn, nmoute
exec sp_addextendedproperty nms_description, n下午上班始, nuser, ndbo, ntable, nworktime, ncolumn, nainb
exec sp_addextendedproperty nms_description, n下午上班標准, nuser, ndbo, ntable, nworktime, ncolumn, nains
exec sp_addextendedproperty nms_description, n下午上班止, nuser, ndbo, ntable, nworktime, ncolumn, naine
exec sp_addextendedproperty nms_description, n下午下班始, nuser, ndbo, ntable, nworktime, ncolumn, naoutb
exec sp_addextendedproperty nms_description, n下午下班標准, nuser, ndbo, ntable, nworktime, ncolumn, naouts
exec sp_addextendedproperty nms_description, n下午下班止, nuser, ndbo, ntable, nworktime, ncolumn, naoute
/*
註:在上班始-上班標准間打卡屬於正常打卡,在上班標准-上班止間打卡屬於遲到
在下班始-下班標准間打卡屬於早退,在下班標准-下班止間打卡屬於正常打卡
其餘時間打卡屬於無效打卡。
*/
--3:人事資料表(只列出和考勤有關的欄位)
create table employee(
workno char(6) primary key,
[name] varchar(10),
calendarflag int check(calendarflag in (1,2,3) ), -- 1,2,3分別表示工作日歷中的標志1,標志2,標志3
worktimeid int -- 排班表中的班制
)
go
exec sp_addextendedproperty nms_description, n工號, nuser, ndbo, ntable, nemployee, ncolumn, nworkno
exec sp_addextendedproperty nms_description, n姓名, nuser, ndbo, ntable, nemployee, ncolumn, nname
exec sp_addextendedproperty nms_description, n工作日歷方式, nuser, ndbo, ntable, nemployee, ncolumn, ncalendarflag
exec sp_addextendedproperty nms_description, n班制, nuser, ndbo, ntable, nemployee, ncolumn, nworktimeid
/*
calendarflag 1,2,3分別表示工作日歷中的標志1,標志2,標志3
worktimeid 對應排班表中的班制
*/
--4:異常類別表abnormity
create table abnormity(
abnormityno int primary key clustered,
[description] varchar(10)
)
go
exec sp_addextendedproperty nms_description, n異常類別, nuser, ndbo, ntable, nabnormity, ncolumn, nabnormityno
exec sp_addextendedproperty nms_description, n異常說明, nuser, ndbo, ntable, nabnormity, ncolumn, ndescription
/**************
異常包括:遲到(還可細分成遲到的時間段),早退,無刷卡...
當然可能更有扣薪方式之類的,此處不予考慮。
*****************/
5:考勤記錄表timecard
create table timecard(
workno char(6),
[date] datetime,
constraint [pk_timecard] primary key clustered
(
workno,
[date]
) on [primary]
)
go
exec sp_addextendedproperty nms_description, n工號, nuser, ndbo, ntable, ntimecard, ncolumn, nworkno
exec sp_addextendedproperty nms_description, n打卡時間, nuser, ndbo, ntable, ntimecard, ncolumn, ndate
/*******
其實我實際中是按卡號(對應工號),日期,時間,卡鍾號四個欄位來存的。
*******/
/****************如下處理得到考勤明細表1:**********/
--1.創建一個合並的函數
create function f_kqlist(@workno char(6),@date char(8))
returns varchar(400)
as
begin
declare @str varchar(1000)
set @str=
select @str=@str+/+ convert(char(8),[date],108) from timecard
where workno = @workno and datediff(day,[date], @date) = 0
set @str=right(@str,len(@str)-1)
return(@str)
end
/* usage:
select distinct workno,date,dbo.f_kqlist(workno,[date])
from timecard
where workno = 102337 and convert(char(8),[date],112) = 20030814
*/
剩下的留給大家吧。其實也不難,就看誰的效率比較高一些罷了。 :d
(我的做法: 異常處理 : 用存儲過程,用游標做的,懶得去優化了
考勤明細表2:用函數,原來用游標,不好,後來才改用函數的)
③ 如何修改中控考勤機資料庫
1、首先准備一個u盤,准備下載考勤數據,如下圖所示。
④ 怎樣把考勤機上的考勤記錄導到U盤
方法如下:
1、首先把U盤插進考勤機對應的USB插口中。
(4)登錄我愛考勤後台資料庫擴展閱讀:
考勤機系統根據設置情況自動判斷員工的打卡數據是上班卡還是下班卡,無須人為干預。系統根據員工打卡數據,和已經設置好的上下班時間,自動判斷遲到早退時間,並用不同的顏色表示出遲到和早退。
參考資料來源:網路:考勤機
⑤ 考勤機怎麼把我們上下班的考勤記錄添加到資料庫
這個准確講要知道你的兩機器的牌子。
根據你的描述,第一個是網路版的,可以自動上傳數據
第二個是數據採集的,所以才要半天後看到數據
都可以用,都有資料庫的
⑥ 科密a1考勤管理系統資料庫連接失敗什麼原因
科密a1考勤管理系統資料庫連接失敗原因:
1、考勤機中的通訊參數:機號、IP、端內口、密碼和A1考勤軟體中的不容一致;
2、網線沒插好,或者是網線另外一端沒有正確的接到集線器、交換機;
3、菜單欄設置的TCP通訊為否,需要改為啟用TCP;
4、網路中含三層交換機時,需要修改考勤機MAC地址;
5、電腦操作系統的防火牆、第三方防火牆阻止了考勤機埠的訪問;
6、網路設備中跨網段的路由設置有問題;
7、如果桌面右下角沒有資料庫圖標,那麼打開開始——程序——啟動裡面的"service manager"啟動。