報告題名:
應用程式設計報告-員工資料管理系統
作者:張照緯
系級:工業二甲
學號:D9771230
開課老師:陳亭志
課程名稱:應用程式設計
開課系所:工業工程與系統管理學系
開課學年:98 學年度 第一學期
中文摘要
使用 Microsoft 的 Visual Basic 來寫出員工資料管理系統程式,並加
以使用 Access 資料庫使 Visual Basic 進行員工資料的瀏覽、修改、新
增和刪除,使得員工資料管理系統程式能符合現實面的需求。
關鍵字:
目 次
1.方案總管---1
2.Form1:修改員工資料---2
3.Form2:瀏覽員工資料---5
4.Form3:主選單---7
5.Form4:統計分析---9
6.Form5:新增員工資料---15
7.Form6:首頁─登入畫面---19
8.Form7:刪除員工資料---22
9.心得---24
參考文獻---25
1.方案總管
Database3:Access 資料庫,存放員工資料
Form1:修改員工資料,可做資料的更正
Form2:瀏覽員工資料,觀看全部員工的資料
Form3:主選單,可連結其它的表單
Form4:統計分析,分析員工的部門、性別跟城市
Form5:新增員工資料,可增加新資料
Form6:首頁─登入畫面,輸入帳號密碼登入進主選單
Form7:刪除員工資料,可刪除資料
2. Form1:修改員工資料
執行畫面:
修改中
程式碼:
PublicClass Form1
PrivateSub DatabasicBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DatabasicBindingNavigatorSaveItem.Click Me.Validate()
Me.DatabasicBindingSource.EndEdit()
Me.DatabasicTableAdapter.Update(Me._Database3DataSet.Databasic) '更新資料庫
Me.TableAdapterManager.UpdateAll(Me.Database3DataSet) EndSub
PrivateSub Form1_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form3.Show() '關掉form1時叫出form3
EndSub
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 這行程式碼會將資料載入 'Database3DataSet.Databasic' 資料表。您可以視需要進行移動或 移除。
Me.DatabasicTableAdapter.Fill(Me.Database3DataSet.Databasic) EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Me.Close() '關掉此視窗
Form3.Show() '叫出form3
EndSub EndClass
3. Form2:瀏覽員工資料
執行畫面:
程式碼:
PublicClass Form2
PrivateSub DatabasicBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Me.Validate() Me.DatabasicBindingSource.EndEdit() Me.DatabasicTableAdapter.Update(Me._Database3DataSet.Databasic) '更新資料庫 Me.TableAdapterManager.UpdateAll(Me.Database3DataSet) EndSub
PrivateSub Form2_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form3.Show() '關掉form2時叫出form3
PrivateSub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 這行程式碼會將資料載入 'Database3DataSet.Databasic' 資料表。您可以視需要進行移動或 移除。 Me.DatabasicTableAdapter.Fill(Me.Database3DataSet.Databasic) EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Me.Close() '關掉此視窗
Form3.Show() '叫出form3
EndSub EndClass
4. Form3:主選單
執行畫面:
程式碼:
PublicClass Form3
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Form2.Show() '叫出form2
Me.Hide() '隱藏此視窗
EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Me.Hide() '隱藏此視窗
EndSub
PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
Form1.Show() '叫出form1
Me.Hide() '隱藏此視窗
EndSub
PrivateSub Form3_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed End'關掉form3時結束程式
EndSub
PrivateSub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button6.Click
End'結束程式
EndSub
PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button5.Click
Form4.Show() '叫出form4
Me.Hide() '隱藏此視窗
EndSub
PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button4.Click
Form7.Show() '叫出form7
Me.Hide() '隱藏此視窗
EndSub EndClas
5. Form4:統計分析
依性別分析
依城市分析
程式碼:
PublicClass Form4
PrivateSub Form4_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form3.Show() '關掉此視窗時叫出form3
EndSub
PrivateSub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 這行程式碼會將資料載入 'Database3DataSet.Databasic' 資料表。您可以視需要進行移動或 移除。
Me.DatabasicTableAdapter.Fill(Me.Database3DataSet.Databasic) EndSub
PrivateSub 回主選單ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles 回主選單ToolStripMenuItem.Click Me.Close() '關掉此視窗
Form3.Show() '關掉此視窗時叫出form3
EndSub
PrivateSub 依城市ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles 依城市ToolStripMenuItem.Click Dim i, j AsInteger Dim 城市() = {"台南市", "台北市", "雲林縣", "台中市", "新竹縣"} '把城市"文字"放進"城市()"陣列 裡 Dim 城市人數(5) AsInteger For i = 0 ToMe.Database3DataSet.Databasic.Rows.Count - 1 For j = 0 To 4
If InStr(1, Me.Database3DataSet.Databasic.Rows(i)(9), 城市(j)) > 0 Then'從資料庫中找尋" 城市" 城市人數(j) += 1 '統計各城市的人數 EndIf Next Next Dim g1 As Graphics g1 = Me.CreateGraphics
Dim b1() As Brush = {Brushes.Red, Brushes.Orange, Brushes.Yellow, Brushes.YellowGreen, Brushes.Green} '定義陣列並設定各元素長條圖的顏色
g1.Clear(Me.BackColor) '清除表單
For j = 0 To 4
g1.FillRectangle(b1(j), 160, 60 + 50 * j, 城市人數(j) * 20, 20) '印出各城市的人數長條圖
g1.DrawString(城市(j), New Font("標楷體", 12), Brushes.Black, 100, 60 + 50 * j) '印出城市()陣列 的元素
Next
g1.Dispose() '釋放繪圖資源
EndSub
For i = 0 ToMe.Database3DataSet.Databasic.Rows.Count - 1 IfMe.Database3DataSet.Databasic.Rows(i)(3) = "男"Then 男生人數 += 1 Else 女生人數 += 1 EndIf'進行資料庫中男女生人數的統計 Next 男生度數 = 360 * 男生人數 / (男生人數 + 女生人數) 女生度數 = 360 - 男生度數 '把人數轉換成度數,以用於畫圓餅圖 Dim g1 As Graphics g1 = Me.CreateGraphics g1.Clear(Me.BackColor) '清除表單 g1.FillPie(Brushes.Blue, 160, 100, 100, 100, 0, 男生度數) g1.FillPie(Brushes.Red, 160, 100, 100, 100, 男生度數, 女生度數) '畫出男女性比例圓餅圖 g1.FillRectangle(Brushes.Blue, 100, 120, 30, 10) g1.FillRectangle(Brushes.Red, 100, 150, 30, 10) '標示男女性各是什麼顏色的圖示
g1.DrawString("男生", New Font("標楷體", 12), Brushes.Black, 50, 120)
g1.DrawString("女生", New Font("標楷體", 12), Brushes.Black, 50, 150) '為圖示標名哪一個顏色是男 性或女性
g1.Dispose() '釋放繪圖資源
EndSub
PrivateSub 女ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles 女ToolStripMenuItem.Click Dim i, j AsInteger Dim 部門() = {"IE", "PC", "QC"} '定義陣列 Dim 部門人數(3) AsInteger For i = 0 ToMe.Database3DataSet.Databasic.Rows.Count - 1 For j = 0 To 2
If InStr(1, Me.Database3DataSet.Databasic.Rows(i)(4), 部門(j)) > 0 Then
部門人數(j) += 1 '進行各部門人數的統計
EndIf
Next
Dim g1 As Graphics g1 = Me.CreateGraphics
Dim b1() As Brush = {Brushes.Red, Brushes.Orange, Brushes.Yellow, Brushes.YellowGreen, Brushes.Green, Brushes.Blue} '定義陣列並設定各元素長條圖的顏色
g1.Clear(Me.BackColor) '清除表單
For j = 0 To 2
g1.FillRectangle(b1(j), 150, 80 + 50 * j, 部門人數(j) * 20, 20) '印出各部門的人數長條圖
g1.DrawString(部門(j), New Font("標楷體", 12), Brushes.Black, 100, 80 + 50 * j) '印出部門()陣列 的元素 Next g1.Dispose() '釋放繪圖資源 EndSub EndClass
6. Form5:新增員工資料
執行畫面:
確認新增資料
程式碼:
PublicClass Form5
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click Dim 編號, 姓名, 性別, 部門, 職位 AsString'做定義 Dim 生日, 加入時間 AsDate'做定義 Dim 身份證字號, 地址, 電話 AsString'做定義 編號 = TextBox1.Text 姓名 = TextBox2.Text If RadioButton1.Checked Then 性別 = "男" Else 性別 = "女"'把"男"或"女"指定給"性別" EndIf
地址 = TextBox5.Text 電話 = TextBox6.Text '把各欄位指定到定義的文字裡 Me._Database3DataSet.Databasic.AddDatabasicRow(編號, 姓名, 性別, 部門, 職位, 生日, 加入時 間, 身份證字號, 地址, 電話) Me.DatabasicTableAdapter.Update(Me._Database3DataSet.Databasic) '更新資料庫 Me._Database3DataSet.Databasic.Reset() MsgBox("資料已新增! 請確認員工資料,謝謝", , "系統訊息") '資料新增後 出現請確認的訊息欄 Call D9771230之清空() '呼叫子程式 EndSub
PrivateSub Form5_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form3.Show() '關掉此視窗時叫出form3
EndSub
PrivateSub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 這行程式碼會將資料載入 '_1130DataSet.Databasic' 資料表。您可以視需要進行移動或移 除。
Me.DatabasicTableAdapter.Fill(Me._Database3DataSet.Databasic) EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Call D9771230之清空() '呼叫子程式
EndSub
PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click Me.Close() '關掉此視窗 Form3.Show() '叫出form3 EndSub Sub D9771230之清空() '子程式 TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" RadioButton1.Checked = True RadioButton2.Checked = False
ComboBox1.Text = "(請選擇)" DateTimePicker1.Value = Today DateTimePicker2.Value = Today TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = ""'對填寫新增員工的爛位全部清空 EndSub EndClass
.
7. Form6:首頁─登入畫面
登入失敗
程式碼:
PublicClass Form6
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim 帳號, 密碼 AsString
帳號 = TextBox1.Text '把TextBox2.Text1的內容指定到"帳號"裡
密碼 = TextBox2.Text '把TextBox2.Text2的內容指定到"密碼"裡
If 帳號 = "張照緯"And 密碼 = "D9771230"Then'對帳號密碼是否正確進行判定
MsgBox("歡迎再次使用本系統", MsgBoxStyle.Information, "系統訊息") 'Msgbox為出現圖示
Form3.Show() '叫出Form3
Timer1.Enabled = False'結束Timer1
Me.Hide() '隱藏此視窗 Else MsgBox("你並非合法的使用者!請重新輸入。", MsgBoxStyle.Exclamation, "系統訊息") '帳號密 碼錯誤時,Msgbox出現圖示 Call D9771230之清空() '呼叫子程式 EndIf
Button2.Click
Call D9771230之清空() '呼叫子程式
EndSub
PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Timer1.Tick
Label5.Text = TimeValue(Now) '在Label5顯示現在時間
EndSub
Sub D9771230之清空() '子程式
TextBox1.Text = ""
TextBox2.Text = ""'清空TextBox1和TextBox2.Text的內容
EndSub
PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
End'結束程式
EndSub
PrivateSub Form6_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed End'結束程式
EndSub EndClass
8. Form7:刪除員工資料
執行畫面:
程式碼:
PublicClass Form7
PrivateSub DatabasicBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DatabasicBindingNavigatorSaveItem.Click Me.Validate()
Me.DatabasicBindingSource.EndEdit()
Me.DatabasicTableAdapter.Update(Me._Database3DataSet.Databasic) '更新資料庫
Me.TableAdapterManager.UpdateAll(Me.Database3DataSet) EndSub
PrivateSub Form7_FormClosed(ByVal sender AsObject, ByVal e As
System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form3.Show() '叫出form3
EndSub
PrivateSub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 這行程式碼會將資料載入 'Database3DataSet.Databasic' 資料表。您可以視需要進行移動或 移除。
Me.DatabasicTableAdapter.Fill(Me.Database3DataSet.Databasic) EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click Me.DatabasicTableAdapter.Update(Me._Database3DataSet.Databasic) '更新資料庫 Form3.Show() '叫出form3 Me.Hide() '隱藏此視窗 EndSub EndClass