當前位置:編程學習大全網 - 源碼下載 - Vbaccess源代碼

Vbaccess源代碼

剛剛做了這篇論文,給妳壹個答案~~獨家,分數給我~ ~

1)系統意義

隨著計算機應用的日益普及,企事業單位實現規範化、計算機自動化的人事管理勢在必行,這是提高科學管理水平的重要手段,也是提高工作效率的可靠途徑。

2)系統特征

1實現了人員信息的自動化管理;

2.提供各種查詢、修改、刪除、插入人才信息的功能;

提供各種信息統計功能。

3)系統設計環境

1 Windows 2000 Server或Windows XP;

2 SQL Server 2000數據庫管理系統;

3 VB 6.0 .

二、系統需求分析

1)系統設計目標

1實現了人事管理過程中的信息自動化管理。

2.它可以修改、刪除和插入各種信息。

3.實現各類信息的查詢和統計。

4按年份和月份統計員工的出勤信息。

5根據某年某月某日的統計,查詢某部門遲到早退的人數。

6.逐月統計大家的加班天數。

7 .分年度調入調出人數統計。

2)系統需求分析

1.信息需求分析

通過對人事信息系統的分析,本系統需要包含以下信息(數據字典):

1)人事檔案基本信息:

編號、姓名、性別、出生日期、工作年限、電話、地址、電子郵箱、學歷、專業、入職時間(編號要求:長度6位)。

2)人員調動信息:

原部門、新部門、原崗位、新崗位、轉出時間、轉入時間。

3)人員出勤信息:

上下班時間,遲到時間,早退時間,請假天數,加班天數,加班日期。

4)系統用戶管理信息:

用戶賬號、密碼(由6位數字組成),記錄用戶上次登錄信息:年、月、日。

2.功能需求分析

1)人事檔案基本信息的錄入、更新、刪除和查詢;

2)人員調動信息的錄入、更新、刪除和查詢;

3)輸入、更新、刪除和查詢人員考勤信息;

3.概念結構設計

系統的E-R圖如圖1.1所示:

1)數據庫設計

1邏輯結構設計

人員基本信息(編號、姓名、出生日期、工作年限、電話號碼、電子郵箱、學歷、入職時間);

人員調動信息(編號、原部門、新部門、原崗位、新崗位、轉出時間、轉入時間);

人員考勤信息(人數、上下班時間、遲到、早退、請假天數、加班天數、加班日期)。

2每個數據表的結構

根據實體間E-R模型的需求分析,本系統需要四個數據表分別存儲人員基本信息、調動信息、考勤信息和系統管理員賬戶信息,如下:

人員基本信息表

字段名稱的數據類型長度是否為空的說明。

Bh char 10不是空數字

Name varchar 8不是空名稱

性別varChar 3不為空性別

Gznx varchar 10空工作年

出生日期時間10出生日期為空

email Varchar 20空電子郵件

Dh Varchar 20空電話

Xl Varchar 10空教育

Jdwsj Datetime 10 null到單位時間

人員調動表

字段名稱的數據類型長度是否為空的說明。

Ybm varchar 12原始部門不為空

Xbm varchar 12新部門不為空

Yzw varChar 12非空原始位置

Xzw varchar 12空新作業

Dcsj日期時間10空調出時間

Drsj日期時間10空調入時間

人事時間表

字段名稱的數據類型長度是否為空的說明。

Sxb varchar 10非空通勤時間

Cd varchar 5延遲時間不為空

Zt varChar 5不為空的早退時間

Qj varchar 5空休假天數

Jbts日期時間5空加班天數

Jbrq日期時間10空加班日期

管理員表

字段名稱的數據類型長度是否為空的說明。

Name char 20 Not null用戶名

密碼字符8不為空密碼

基本人員信息模塊代碼

選項顯式

Dim mblchange為布爾值

字符串形式的公共txtSQL

字符串形式的公共msgtext

Dim mrc為ADODB。記錄集

Private Sub cmdcancle_Click()

卸下我

末端接頭

Private Sub cmdOK_Click()

Dim intCount為整數

Dim txtSQL作為字符串

Dim MsgString作為字符串

Dim sMeg作為字符串

將I標註為整數

對於intCount = 0到1

if Trim(text 1(int count)& amp;" ")= " "那麽

選擇案例intCount

案例0

SMeg = "數字"

案例1

SMeg = "名稱"

結束選擇

sMeg = sMeg & amp"不能為空"

Msgbox smeg,vbokonly+vbexclusion,"警告"

Text1(intCount)。SetFocus

出口接頭

如果…就會結束

下壹個intCount

if Trim(text 1(3)& amp;" ")= " "那麽

MsgBox“出生日期不能為空”,vbOKOnly+VB example,“警告”

如果…就會結束

if Trim(text 1(3)& amp;" ")& lt& gt”“那麽

如果不是IsDate(Text1(3)),則

MsgBox "出生日期應該是(yyyy-mm-dd)!",vbOKOnly+vbaclouse,“警告”

Text1(3)。SetFocus

出口接頭

其他

text 1(3)= Format(text 1(3)," yyyy-mm-dd ")

如果…就會結束

如果…就會結束

if Trim(text 1(2)& amp;" ")= " "那麽

MsgBox“年齡不能為空”,vbOKOnly+vbaclouse,“警告”

出口接頭

如果…就會結束

如果gintMode = 1,則

txt SQL = " select * from dangan where ygid = ' " & amp;trim(text 1(0))& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。EOF =假那麽

MsgBox“重復記錄”,vbOKOnly+vbaclouse,“警告”

Text1(0)。SetFocus

如果…就會結束

mrc。關閉

txt SQL = " delete * from dangan where ygid = ' " & amp;trim(text 1(0))& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

txtSQL = "select * from dangan "

設置mrc = ExecuteSQL(txtSQL,msgtext)

mrc。添加新內容

對於intCount = 0到1

mrc。fields(int count)= Trim(text 1(int count))

下壹個intCount

對於intCount = 2到5

mrc。fields(int count)= Trim(text 1(int count))

下壹個intCount

對於intCount = 6到10

mrc。fields(int count)= Trim(text 1(int count))

下壹個intCount

mrc。字段(11)= Trim(combo 1。正文)

mrc。更新

如果gintMode = 1,則

MsgBox“記錄添加成功”,vbOKOnly,“提示”

對於i = 0到10

Text1(i)。文本= " "

接下來我

frmyuangong。顯示

frmyuangong。佐德0

frmmanrecord。節目標題

frmmanrecord。顯示數據

frmmanrecord。佐德1

如果…就會結束

那麽ElseIf gintMode = 2

txt SQL = " select * from dangan where ygid = ' " & amp;Trim(Text1(0))。正文)& amp"

設置mrc = ExecuteSQL(txtSQL,msgtext)

對於intCount = 0到10

mrc。fields(int count)= Trim(text 1(int count))

下壹個intCount

mrc。字段(11)= Trim(combo 1。正文)

mrc。更新

MsgBox“修改成功”,vbOKOnly,“提示”

卸下我

frmmanrecord。節目標題

frmmanrecord。顯示數據

frmmanrecord。佐德0

如果…就會結束

gintMode = 0

末端接頭

私有子窗體_Load()

Dim msgtext作為字符串

Dim intCount為整數

使用Combo1

AddItem“男性”

AddItem“女性”

以…結尾

如果gintMode = 1,則

我。Caption =我。標題和標題。"添加"

Combo1。ListIndex = 0

那麽ElseIf gintMode = 2

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。EOF =假那麽

使用mrc

對於intCount = 0到10

Text1(intCount) =。字段(整數)

下壹個intCount

如果不是IsNull(!性)然後

Combo1 =!性

如果…就會結束

mrc。關閉

我。Caption =我。標題和標題。"修改"

以…結尾

如果…就會結束

如果…就會結束

mblchange = False

末端接頭

選項顯式

字符串形式的公共sQSql

公共mrc作為ADODB。記錄集

字符串形式的公共txtSQL

字符串形式的公共msgtext

私有子檢查1_Click(索引為整數)

如果索引= 0,則

Text1(索引)。SetFocus

如果…就會結束

如果索引= 1,則

Text1(索引)。SetFocus

其他

Text1(索引)。SetFocus

如果…就會結束

末端接頭

私有子命令取消_單擊()

卸下我

末端接頭

Private Sub cmdOK_Click()

If Check1(0)。Value = vbChecked Then

sQSql = " ygname = ' " & amptrim(text 1(0)& amp;”& amp"

如果…就會結束

If Check1(1)。Value = vbChecked Then

如果修剪(sQSql & amp" ")= " "那麽

sQSql = " ygid = ' " & ampTrim(Text1(1)”& amp"

其他

sQSql = sQSql & amp和ygid = ' " & ampTrim(Text1(1)”& amp"

如果…就會結束

如果…就會結束

If Check1(2)。Value = vbChecked Then

如果修剪(sQSql & amp" ")= " "那麽

sQSql = " ygdept = ' " & amptrim(text 1(2)& amp;”& amp"

其他

sQSql = sQSql & amp和ygdept = ' " & amptrim(text 1(2)& amp;”& amp"

如果…就會結束

如果…就會結束

如果修剪(sQSql & amp" ")= " "那麽

frmmanrecord . txtsql = " select * from dangan "

flagEdit = True

frmmanrecord。節目標題

frmmanrecord。顯示數據

frmmanrecord。顯示

其他

frmmanrecord . txtsql = " select * from dangan where " & amp;SQL SQL

flagEdit = True

frmmanrecord。節目標題

frmmanrecord。顯示數據

frmmanrecord。顯示

如果…就會結束

我。隱藏

末端接頭

私有子窗體_Load()

將I標註為整數

對於i = 0到2

Text1(i) = " "

然後

末端接頭

人員考勤模塊代碼

選項顯式

Dim mblchange為布爾值

Dim mrc為ADODB。記錄集

字符串形式的公共txtSQL

Private Sub cboItem_Click(索引為整數)

Dim msgtext作為字符串

txtSQL = "select ygid,yg name from dangan where yg dept = ' " & amp;Trim(DataCombo1)"

設置mrc = ExecuteSQL(txtSQL,msgtext)

mrc。MoveFirst

mrc。移動cboItem(1)。列表索引

txtid = Trim(mrc!ygid)

末端接頭

private Sub cboItem _ KeyDown(Index為整數,KeyCode為整數,Shift為整數)

輸入標簽鍵碼

末端接頭

私有Sub cboMonth_Click()

Dim dateTemp作為日期

dateTemp = DateAdd("d ",-1,DateAdd("m ",1,DateSerial(CInt(cboYear),CInt(cboMonth),1)))

txtItem(0) = Day(dateTemp)

末端接頭

Private Sub cboYear_Click()

Dim dateTemp作為日期

if Trim(CBO month & amp;" ")& lt& gt”“那麽

dateTemp = DateAdd("d ",-1,DateAdd("m ",1,DateSerial(CInt(cboYear),CInt(cboMonth),1)))

txtItem(0) = Day(dateTemp)

如果…就會結束

末端接頭

Private Sub cmdExit_Click()

如果mblchange和gintMode & lt& gt3和cmdSave。然後啟用

如果MsgBox("保存當前記錄的更改?",vbOK cancel+VB感嘆號," warning") = vbOK Then

調用cmdSave_Click

如果…就會結束

如果…就會結束

卸下我

末端接頭

Private Sub cmdSave_Click()

Dim intCount為整數

Dim sMeg作為字符串

Dim rectemp作為記錄集

將sSql標註為字符串

Dim msgtext作為字符串

對於intCount = 0到3

If Trim(txtItem(intCount)和amp" ")= " "那麽

選擇案例intCount

案例0

SMeg = "本月的天數"

案例2

SMeg = "出勤天數"

案例3

SMeg = "出勤"

結束選擇

如果intCount & lt& gt那麽1

sMeg = sMeg & amp"不能為空!"

Msgbox smeg,vbokonly+vbexclusion,"警告"

txtItem(intCount)。SetFocus

出口接頭

如果…就會結束

如果…就會結束

下壹個intCount

如果gintMode = 1,則

txt SQL = " select * from check in where kqid = ' " & amp;trim(txtid)& amp;而kqdate = ' " & amp格式(cboYear。文本&-“& amp;cboMonth。文本&-01 "," yyyy-mm-DD ")& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。EOF =假那麽

MsgBox "該員工本月的考勤記錄已經存在!",vbOKOnly+vbaclouse,“警告”

cboMonth。SetFocus

出口接頭

如果…就會結束

mrc。關閉

txtSQL = " delete from check in where kqid = ' " & amp;trim(txtid)& amp;而kqdate = ' " & amp格式(cboYear & amp-“& amp;cboMonth & amp-01 "," yyyy-mm-DD ")& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

txtSQL = "select * from checkin "

設置mrc = ExecuteSQL(txtSQL,msgtext)

mrc。添加新內容

mrc。字段(0) = Trim(txtid)

mrc。fields(1)= Trim(cboItem(1))

mrc。fields(2)= Format(cboYear & amp;“-”& amp;cboMonth & amp"-01 "," yyyy-mm-dd ")

對於intCount = 0到15

mrc。fields(int count+3)= Trim(tx titem(int count)。正文)

下壹個intCount

對於intCount = 16至17

mrc。fields(int count+3)= Trim(tx titem(int count)。正文)

下壹個intCount

mrc。更新

MsgBox "記錄添加成功!",vbOKOnly+vbaclouse,“警告”

對於intCount = 0到17

txtItem(intCount) = " "

下壹個intCount

mblchange = False

那麽ElseIf gintMode = 2

txtSQL = "select kqid,kqname,kqdays,kqrday,kqtday,kqwork,kqabsent,kqrest,kqleave,kqlate,kqearly,kqforget,kqover1,kqvoer2,kqfill,kqgo,kqpay,kqdeduct,kqother,kqre mark from check in where kqid = ' " & amp;trim(txtid)& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

mrc。字段(0) = Trim(txtid)

mrc。fields(1)= Trim(cboItem(1))

對於intCount = 0到15

mrc。fields(int count+2)= Trim(tx titem(int count)。正文)

下壹個intCount

對於intCount = 16至17

mrc。fields(int count+2)= Trim(tx titem(int count)。正文)

下壹個intCount

mrc。更新

MsgBox "記錄修改成功!",vbOKOnly,“提示”

mrc。關閉

卸下我

frmCheck。節目標題

frmCheck。顯示數據

frmCheck。佐德0

如果…就會結束

gintMode = 0

末端接頭

private Sub data combo 1 _ Click(面積為整數)

將sSql標註為字符串

Dim msgtext作為字符串

txtSQL = "select ygid,yg name from dangan where yg dept = ' " & amp;Trim(DataCombo1)"

設置mrc = ExecuteSQL(txtSQL,msgtext)

cboItem(1)。清楚的

如果不是mrc。那麽EOF

使用cboItem(1)

做而不是mrc。文件結束

。附加項修剪(mrc!ygname)

mrc。下壹步

。ListIndex = 0

以…結尾

cmdSave。啟用=真

其他

MsgBox "請先創建員工檔案!",vbOKOnly+vbaclouse,“警告”

cmdSave。啟用=假

出口接頭

如果…就會結束

末端接頭

私有子窗體_Load()

Dim intCount為整數

Dim dateTemp作為日期

Dim msgtext作為字符串

Adodc1。可見=假

cboYear。第二年(現在)

cboYear。AddItem Year(現在)- 1

cboYear。ListIndex = 0

對於intCount = 1至12

cboMonth。AddItem intCount

下壹個intCount

cboMonth =月(現在)

如果gintMode = 1,則

我。Caption =我。標題和標題。"添加"

初始化部門名稱

txtSQL = "從dangan中選擇不同的ygdept "

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。那麽EOF

MsgBox "請先登記員工檔案!",vbOKOnly+vbaclouse,“警告”

cmdSave。啟用=假

出口接頭

如果…就會結束

初始化本月的天數。

dateTemp = DateAdd("d ",-1,DateAdd("m ",1,DateSerial(CInt(cboYear),CInt(cboMonth),1)))

txtItem(0) = Day(dateTemp)

mrc。關閉

那麽ElseIf gintMode = 2

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。EOF =假那麽

使用mrc

cboItem(1)。AddItem。字段(1)

cboItem(1)。ListIndex = 0

對於intCount = 2到19

如果不是IsNull(。Fields(intCount))然後

txtItem(intCount - 2) =。字段(整數)

如果…就會結束

下壹個intCount

txtid =。字段(0)

以…結尾

如果…就會結束

mrc。關閉

我。Caption =我。標題和標題。"修改"

如果…就會結束

mblchange = False

末端接頭

人員轉移模塊代碼

選項顯式

Dim mblchange為布爾值

字符串形式的公共txtSQL

字符串形式的公共msgtext

Dim mrc為ADODB。記錄集

將我的書簽調暗為變體

私有子命令取消_單擊()

卸下我

末端接頭

Private Sub cmdchange_Click()

cmdchange。啟用=假

命令1。啟用=假

cmddelete。啟用=假

gintMode = 2

末端接頭

Private Sub cmddelete_Click()

Dim st As String

mybookmark = mrc。書簽

St = MsgBox("刪除當前記錄?",vbOKCancel,“提示”)

如果st = vbOK,則

mrc。下壹步

如果mrc。那麽EOF

mrc。MoveFirst

mybookmark = mrc。書簽

mrc。MoveLast

mrc。刪除

mybookmark = mrc。書簽

調用視圖數據

其他

mybookmark = mrc。書簽

mrc。移動上壹個

mrc。刪除

mrc。書簽=我的書簽

調用視圖數據

如果…就會結束

其他

mrc。書簽=我的書簽

調用視圖數據

如果…就會結束

末端接頭

Private Sub cmdOK_Click()

Dim intCount為整數

Dim txtSQL作為字符串

Dim MsgString作為字符串

如果Text(0) = ",則

MsgBox "編號不能為空!",vbOKOnly+vbaclouse,“警告”

文本(0)。SetFocus

如果…就會結束

如果Text(1) = ",則

MsgBox "事件不能為空!,vbOKOnly+vbaclouse,“警告”

文本(1)。SetFocus

如果…就會結束

如果gintMode = 1,則

txtSQL = " select * from renshi 1 where id = ' " & amp;trim(Text(0))& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。EOF =假那麽

MsgBox "該編號的記錄已經存在,請重新輸入!",vbOKOnly+vbaclouse,“警告”

文本(0)。SetFocus

出口接頭

如果…就會結束

mrc。關閉

txtSQL = " delete * from renshi 1 where id = ' " & amp;trim(Text(0))& amp;"

設置mrc = ExecuteSQL(txtSQL,msgtext)

txt SQL = " select * from renshi 1 "

設置mrc = ExecuteSQL(txtSQL,msgtext)

mrc。添加新內容

對於intCount = 0到2

mrc。fields(int count)= Trim(Text(int count))

下壹個intCount

mrc。更新

MsgBox "記錄添加成功!",vbOKOnly,“提示”

frmrenshi。佐德1

frmrenshi。顯示

命令1。啟用=真

cmdchange。啟用=真

cmddelete。啟用=真

首先。啟用=真

以前的。啟用=真

next1。啟用=真

最後。啟用=真

如果…就會結束

如果gintMode = 2,則

txt SQL = " select * from renshi 1 "

設置mrc = ExecuteSQL(txtSQL,msgtext)

對於intCount = 0到2

mrc。字段(intCount) =文本(intCount)。文本

下壹個intCount

mrc。更新

MsgBox "記錄修改成功!",vbOKOnly,“提示”

cmdchange。啟用=真

命令1。啟用=真

cmddelete。啟用=真

如果…就會結束

gintMode = 0

末端接頭

私有子命令1_Click()

將I標註為整數

對於i = 0到2

正文(壹)。文本= " "

接下來我

命令1。啟用=假

cmdchange。啟用=假

cmddelete。啟用=假

首先。啟用=假

以前的。啟用=假

next1。啟用=假

最後。啟用=假

gintMode = 1

末端接頭

Private Sub first_Click()

mrc。MoveFirst

調用視圖數據

末端接頭

私有子窗體_Load()

Dim txtSQL作為字符串

Dim msgtext作為字符串

將I標註為整數

txt SQL = " select * from renshi 1 "

設置mrc = ExecuteSQL(txtSQL,msgtext)

如果mrc。那麽EOF = True

MsgBox“沒有記錄,請補充!”,vbOKOnly,“提示”

其他

mrc。MoveFirst

調用視圖數據

mybookmark = mrc。書簽

mblchange = True

如果…就會結束

mblchange = True

末端接頭

私有Sub next1_Click()

mrc。下壹步

如果mrc。那麽EOF

mrc。MoveFirst

如果…就會結束

調用視圖數據

末端接頭

Private Sub previous_Click()

mrc。移動上壹個

如果mrc。那就BOF吧

mrc。MoveLast

如果…就會結束

調用視圖數據

末端接頭

公共子視圖數據()

Dim intCount為整數

對於intCount = 0到2

文本(intCount) = mrc。字段(整數)

下壹個intCount

末端接頭

  • 上一篇:怎麽用java實現ftp的登陸
  • 下一篇:計算機專業的學業該如何規劃?
  • copyright 2024編程學習大全網