




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
行政管理系統(tǒng)學 院專 業(yè)班 級學 號姓 名指導教師教師職稱年月日努力了的才叫夢想,不努力的就是空想!如果你一直空想的話,無論看多少正能量語錄,也趕不走滿滿的負能量!你還是原地踏步的你,一直在看別人進步。摘要【摘要】當今社會飛速發(fā)展,行政管理在社會關(guān)系中顯得非常的重要,然而,在很多的行政系統(tǒng)中,忽略了利用計算機軟件來進行日常辦公管理的這一關(guān)鍵環(huán)節(jié),因此,造成管理上的混亂、工作效率低下等事件的發(fā)生,隨著IT產(chǎn)業(yè)的發(fā)展,利用計算機軟件代替手工辦公的方式已經(jīng)當今社會發(fā)展的必然趨勢,因此,行政管理系統(tǒng)軟件應(yīng)運而生。【關(guān)鍵詞】 企事業(yè)機關(guān) 行政管理 行政管理系統(tǒng)目錄摘要1目錄1引言11 系統(tǒng)分析21.1 需求分析21.2 可行性分析22 總體設(shè)計22.1 項目規(guī)劃22.2 系統(tǒng)功能結(jié)構(gòu)圖33 詳細設(shè)計33.1 數(shù)據(jù)模塊設(shè)計33.2 主窗體設(shè)計43.3 會議記錄93.4 一周工作安排123.5 報銷費用管理153.6 編碼查詢19附錄A 參考文獻23附錄B 數(shù)據(jù)表結(jié)構(gòu)24附錄C 文件架構(gòu)圖32引言行政管理系統(tǒng)涵蓋會議、辦公、機關(guān)事務(wù)處理、車輛、費用等行政管理內(nèi)容以及人機結(jié)合的監(jiān)督考評;建立事前預(yù)防(提示),事中監(jiān)控,事后考評的機制,對行政管理權(quán)實施過程進行監(jiān)控,全面推進行政管理工作的規(guī)范化、標準化、法制化和信息化。行政管理包括對企業(yè)內(nèi)部會議的管理、辦公管理、車輛信息及用車信息管理、企業(yè)消費費用、信息發(fā)布及通知、輔助功能等方面的全方位的管理。其中會議管理包括對會議室管理、會議通知和會議查詢幾部分;辦公管理主要是對工作計劃、工作日志和周工作安排進行系統(tǒng)的管理;車輛管理是對企業(yè)內(nèi)部人員包括企業(yè)領(lǐng)導用車信息進行詳細的記錄;費用管理是對企業(yè)日常的消費費用進行管理,包括電話費用、報銷費用和車輛費用支出管理。通過信息發(fā)布和輔助功能為企業(yè)員工在日常工作中提供便利,如發(fā)布會議通知、航班查詢和編碼查詢等等。1 系統(tǒng)分析1.1 需求分析通過市場調(diào)查,要求本系統(tǒng)具有以下的功能:q 統(tǒng)一友好的操作界面,能保證系統(tǒng)的易用性。q 規(guī)范、完善的基礎(chǔ)信息設(shè)置。q 靈活的報表打印功能。q 能夠完成對企業(yè)會議、企業(yè)辦公、企業(yè)車輛和費用信息的有效管理。q 全國各地的編碼及航班查詢。q 提供常用網(wǎng)址和手機歸屬地信息查詢q 通過系統(tǒng)日志,詳細記錄修改記錄的操作,提供追查的有力依據(jù)。q 完善的權(quán)限管理,增強系統(tǒng)的安全性。q 強大的數(shù)據(jù)備份及恢復功能,保證系統(tǒng)數(shù)據(jù)的安全性。q 可在不退出系統(tǒng)的同時更換操作員。1.2 可行性分析傳統(tǒng)的行政管理工作可以說是千頭萬緒,紛繁復雜,工作人員面臨著大量瑣碎繁重的工作,行政管理系統(tǒng)從企業(yè)的實際需求出發(fā),簡單易用,系統(tǒng)界面友好美觀,自定義功能強,權(quán)限管理可根據(jù)用戶的角色來設(shè)置,實施簡單快速,操作簡單明了?;具m用于中小型企業(yè)的行政辦公管理。2 總體設(shè)計2.1 項目規(guī)劃行政管理系統(tǒng)規(guī)劃系統(tǒng)功能模塊如下:q 會議管理模塊會議管理模塊主要包括維護會議室信息、發(fā)送會議通知信息、記錄會議內(nèi)容、查詢會議室信息和會議記錄信息5個方面的內(nèi)容。q 辦公管理模塊該模塊主要由工作日志、記事本、工作計劃和一周工作安排4部分組成。q 車輛管理模塊車輛管理模塊主要包括車輛登記、用車管理、駕駛?cè)藛T登記、車輛信息查詢、用車信息查詢和車輛投保管理6部分。q 費用管理包括電話費用管理、報銷費用管理和車輛費用支出管理3部分。q 輔助信息包括常用網(wǎng)址、航班查詢、編碼大全、國際電話代碼和手機歸屬地查詢5部分。q 系統(tǒng)管理包括查看日志、刪除日志、用戶管理、數(shù)據(jù)備份、數(shù)據(jù)恢復和系統(tǒng)數(shù)據(jù)清理6部分。2.2 系統(tǒng)功能結(jié)構(gòu)圖行政管理系統(tǒng)的功能結(jié)構(gòu)圖如圖1所示。圖1 行政管理系統(tǒng)功能結(jié)構(gòu)圖3 詳細設(shè)計3.1 數(shù)據(jù)模塊設(shè)計模塊的作用是減少程序的代碼量,提高應(yīng)用程序代碼的重用性和程序編碼的可讀性。在本系統(tǒng)中,將連接數(shù)據(jù)庫的程序代碼都集中放置在一個數(shù)據(jù)模塊Mdl_Data中,在應(yīng)用程序需要連接數(shù)據(jù)庫時調(diào)用該模塊,從而完成相應(yīng)的數(shù)據(jù)操作、實現(xiàn)操縱數(shù)據(jù)的功能。在數(shù)據(jù)模塊Mdl_Data中定義了連接字符串變量PublicStr、記錄集對象、數(shù)據(jù)連接函數(shù)Cnn和1個全局函數(shù)main。在函數(shù)main中,提供了連接數(shù)據(jù)庫的字符串,并將其賦值給全局變量PublicStr,提供數(shù)據(jù)連接。數(shù)據(jù)模塊Mdl_Data中的事件代碼如下:數(shù)據(jù)連接模塊Public PublicStr As StringPublic AdoRs As New ADODB.Recordset 后添加一個記錄集對象Public AdoRs1 As New ADODB.Recordset 后添加一個記錄集對象Public AdoRs2 As New ADODB.Recordset 后添加一個記錄集對象Public Function Cnn() As ADODB.Connection 定義連接字符串函數(shù) Set Cnn = New ADODB.Connection Cnn.Open Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_ServiceEnd FunctionPublic Sub main() PublicStr = Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_Service frm_xtdl.Show 顯示系統(tǒng)登錄窗體End Sub3.2 主窗體設(shè)計主窗體界面是顯示系統(tǒng)主要操作功能的面板,對于主窗體設(shè)計的基本要求是:窗體上的控件布局合理、界面美觀大方,并且易于操作系統(tǒng)其他功能模塊。在主窗體的菜單欄或者窗體中的樹狀列表中,可以控制其他功能模塊的運行,并且根據(jù)登錄操作員賦予相應(yīng)的操作權(quán)限;在狀態(tài)欄中,可以顯示當前登錄操作員、當前系統(tǒng)的日期時間、公司網(wǎng)址等信息。系統(tǒng)主窗體的運行結(jié)果如圖2所示。圖2 系統(tǒng)主窗體運行結(jié)果1窗體設(shè)計(1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_Main”,BorderStyle屬性設(shè)置為“0-None”,MaxButton的屬性設(shè)置為“False”,并且通過窗體的Picture屬性為窗體添加圖片。(2)在菜單編輯器中為主窗體設(shè)置菜單,設(shè)置完成的菜單如圖2所示。(3)在窗體上添加TreeView控件,由于該控件屬于ActiveX控件,在使用之前必須從“部件”對話框中添加到工具箱。添加方法如下:在“工程”/“部件”對話框中勾選“Microsoft Windows Common Controls6.0”列表項,單擊【確定】按鈕之后即可將TreeView控件添加到工具箱當中。(4)在窗體的TreeView控件上單擊鼠標右鍵,在彈出的快捷菜單中選擇“屬性”項,然后在彈出的“屬性頁”對話框中設(shè)置TreeView控件的顯示樣式,如圖3所示。圖3 設(shè)置控件的顯示樣式(5)在窗體中添加1個StatusBar控件,由于StatusBar控件屬于ActiveX控件,在使用之前必須從“部件”對話框中添加到工具箱。添加方法如下:在“工程”/“部件”對話框中勾選“Microsoft Windows Common Controls6.0”列表項,單擊【確定】按鈕之后即可將StatusBar控件添加到工具箱當中。(6)利用StatusBar控件可以為主窗體設(shè)置狀態(tài)欄。在StatusBar控件上單擊鼠標右鍵選擇“屬性”項,在彈出的對話框中選擇“窗格”選項卡,如圖4所示,在圖中單擊【插入窗格】按鈕,可以在StatusBar控件中添加窗格,同時可以設(shè)置添加后窗格的文本內(nèi)容、工具欄提示文本內(nèi)容和寬度等信息。如果想刪除窗格,則通過“索引”旁邊的箭頭,選擇要刪除的窗格,然后單擊【刪除窗格】按鈕即可刪除。圖4 設(shè)置狀態(tài)欄中的窗格系統(tǒng)主窗體界面設(shè)計結(jié)果如圖5所示。圖5 系統(tǒng)主窗體的設(shè)計界面2代碼設(shè)計通過單擊系統(tǒng)主窗體當中的菜單項,可以控制系統(tǒng)中各個子窗體的運行。單擊某個功能菜單項調(diào)用系統(tǒng)子窗體的代碼如下:Private Sub BMDQ_Click() frm_bmcx.Show 1 編碼大全End SubPrivate Sub BXFYGL_Click() frm_bxfy.Show 1 報銷費用管理End SubPrivate Sub CKRZ_Click() frm_rz.Show 1 查看日志End SubPrivate Sub CLDJ_Click() frm_cldj.Show 1 車輛登記End SubPrivate Sub CLFYZC_Click() frm_clfyzc.Show 1 車輛費用支出管理End SubPrivate Sub CLTBXXGL_Click() frm_cltb.Show 1 車輛投保管理End SubPrivate Sub CLXXCX_Click() StrCx = 3 如果執(zhí)行的是車輛信息查詢,則標識變量的數(shù)值取值為3 Frm_Cx.Show 1End SubPrivate Sub CXDL_Click() Unload Me frm_xtdl.Show 重新登錄End SubPrivate Sub CYWZ_Click() frm_wzcx.Show 1 常用網(wǎng)址End SubPrivate Sub DHFYGL_Click() frm_dhfy.Show 1 電話費用管理End SubPrivate Sub DJCX_Click() StrCx = 1 如果執(zhí)行的是會議記錄信息查詢,則標識變量的數(shù)值取值為1 Frm_Cx.Show 1 會議記錄信息查詢End SubPrivate Sub GJDHDM_Click() frm_dhhmcx.Show 1 國際電話代碼End SubPrivate Sub GYSGL_Click() frm_hysgl.Show 1 會議室管理End SubPrivate Sub GZJH_Click() frm_Gzjh.Show 1 工作計劃End SubPrivate Sub GZRZ_Click() frm_Gzrz.Show 1 工作日志End SubPrivate Sub HBCX_Click() frm_hbcx.Show 1 航班查詢End SubPrivate Sub HYDJ_Click() frm_hyjl.Show 1 會議記錄End SubPrivate Sub HYSCX_Click() StrCx = 2 如果執(zhí)行的是會議室信息查詢,則標識變量的數(shù)值取值為2 Frm_Cx.Show 1 會議室信息查詢End SubPrivate Sub HYTZ_Click() frm_hytz.Show 1 會議通知End SubPrivate Sub JSB_Click() frm_Jsb.Show 1 記事本End SubPrivate Sub JSHF_Click() 數(shù)據(jù)恢復Dim iTask As LongMsgBox 請您注意,為了確保數(shù)據(jù)安全,在進行數(shù)據(jù)恢復的同時需要關(guān)閉應(yīng)用程序,請您在恢復數(shù)據(jù)完成之后重新運行應(yīng)用程序, 64, 提示信息調(diào)用數(shù)據(jù)恢復可執(zhí)行文件iTask = Shell(App.Path & Restore.exe, vbNormalFocus)End End SubPrivate Sub JSRYDJ_Click() frm_jsrydj.Show 1 駕駛?cè)藛T登記End SubPrivate Sub MMXG_Click() frm_EditPas.Show 1End SubPrivate Sub SCRQ_Click() 刪除日志Dim delDim Temp1 As StringOn Error Resume Next 錯誤處理語句del = MsgBox(確認要清除系統(tǒng)的日志信息嗎?, 17, 提示信息) If del = vbOK Then Kill (App.Path & 系統(tǒng)日志.ini) Open (App.Path & 系統(tǒng)日志.ini) For Output As #1 Temp1 = 操作員姓名 日期時間 操作類型 Print #1, Temp1 Print #1, Close #1 MsgBox 日志清理成功完成!, , 提示信息 Else End IfEnd SubPrivate Sub SJBF_Click() frm_backup.Show 1 數(shù)據(jù)備份End SubPrivate Sub SJGSDCX_Click() frm_Sjgsd.Show 1 手機歸屬地查詢End SubPrivate Sub TCXT_Click() End 退出系統(tǒng)End SubPrivate Sub UCXXCX_Click() StrCx = 4 用車信息查詢 Frm_Cx.Show 1End SubPrivate Sub XTSJQL_Click() frm_sfyz.Show 1 數(shù)據(jù)清理End SubPrivate Sub YCGL_Click() frm_ycgl.Show 1 用車管理End SubPrivate Sub YGGL_Click() frm_systemer.Show 1 用戶管理End SubPrivate Sub YZGZAP_Click() frm_gzap.Show 1 一周工作安排End Sub在窗體啟動時,通過用戶自定義一個函數(shù)Tree_change,在窗體的TreeView控件中顯示數(shù)據(jù)。在Tree_change函數(shù)中通過Ado對象讀取數(shù)據(jù)表中的數(shù)據(jù),然后再利用TreeView控件Nodes集合中的Add方法將數(shù)據(jù)添加到TreeView控件當中,在添加數(shù)據(jù)時同時也用到了Do While語句。Tree_change函數(shù)的代碼如下:Public Sub Tree_change() Dim Key, Text, BH, StrTemp As String Dim Nod As Node 定義一個節(jié)點變量 AdoRs.Open select * from tb_zcd, Cnn, adOpenKeyset If AdoRs.RecordCount 0 Then AdoRs.MoveFirst Do While AdoRs.EOF = False 循環(huán)讀取第1層節(jié)點中的數(shù)據(jù)信息 Key = Trim(AdoRs.Fields(主菜單名稱) Text = AdoRs.Fields(主菜單名稱) StrTemp = AdoRs.Fields(主菜單名稱) 給第1層節(jié)點賦與數(shù)值 Set Node1 = TreeView1.Nodes.Add(, tvwChild, Key, Text, 0) AdoRs1.Open select * from tb_zcd_zcd where 主菜單名稱= + StrTemp + , Cnn,adOpenKeyset If AdoRs1.RecordCount 0 Then AdoRs1.MoveFirst Do While AdoRs1.EOF = False 循環(huán)讀取第2層節(jié)點中的數(shù)據(jù)信息 Key = Trim(AdoRs1.Fields(子菜單名稱) Text = AdoRs1.Fields(子菜單名稱) Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 0) 給第2層節(jié)點賦與數(shù)值 AdoRs1.MoveNext Loop End If AdoRs1.Close AdoRs.MoveNext 將數(shù)據(jù)記錄移向下一條 Loop End If AdoRs.Close 關(guān)閉記錄集對象End Sub3.3 會議記錄會議記錄主要是記錄公司舉行重大會議的內(nèi)容、時間等信息。在會議記錄窗體中可以通過工具欄中的【添加】、【刪除】、【修改】和【保存】按鈕維護會議記錄信息,還可以通過單擊數(shù)據(jù)網(wǎng)格中的數(shù)據(jù)記錄,在窗體上瀏覽已經(jīng)記錄過的會議記錄信息,如果會議記錄被修改過,則在瀏覽數(shù)據(jù)記錄信息時,在窗體的下面還將顯示記錄修改的日期和修改人姓名。會議記錄模塊的運行結(jié)果如圖6所示。圖6 會議記錄模塊運行結(jié)果1窗體設(shè)計(1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_hyjl”,BorderStyle屬性設(shè)置為“0-None”,MaxButton的屬性設(shè)置為“False”。(2)在窗體上添加1個Toolbar控件和1個ImageList控件。(3)為窗體制作如圖7所示的工具欄。(4)在窗體上添加1個文本框控件數(shù)組,數(shù)組中包含有8個文本框控件。(5)在窗體上添加1個DTPicker控件,名稱命名為DT1,用于輸入或顯示會議進行的時間。由于DTPicker控件屬于ActiveX控件,在使用之前必須從“部件”對話框中添加到工具箱。添加方法如下:在“工程”/“部件”對話框中勾選“Microsoft Windows Common Controls2.6”列表項,單擊【確定】按鈕之后即可將DTPicker控件添加到工具箱當中。(6)在窗體上添加1個CommandButton控件,并將其名稱修改為“Cmd_Select”,Caption屬性修改為“”,如圖7所示。(7)在窗體上添加1個Ado控件和1個DataGrid控件,將DataGrid控件的BackColor屬性值設(shè)置為“&H80000018&”,DataSource屬性設(shè)置為“Adodc1”,AllowUpdate屬性設(shè)置為“False”。(8)在窗體上添加2個Line控件,并將其BorderColor屬性值設(shè)置為“&H00008000&”,同時將這2個控件按照如圖11所示的樣式放置。(9)在窗體上添加2個文本框控件,分別命名為“Txt_Date”和“Txt_xgr”,用于顯示修改記錄的時間和記錄修改人的姓名。會議記錄窗體的設(shè)計結(jié)果如圖7所示。圖7 會議記錄窗體設(shè)計結(jié)果2代碼設(shè)計當窗體啟動時,如果數(shù)據(jù)庫中存在記錄信息,則在窗體的文本框中顯示數(shù)據(jù)庫中的第一條記錄,同時鎖定文本框,禁止輸入數(shù)據(jù)信息。通過Ado控件的ConnectionString屬性連接到數(shù)據(jù)庫,然后再調(diào)用DBGCon函數(shù),重新給DataGrid控件的列標題賦值。窗體啟動時的事件代碼如下:Private Sub Form_Load() DT1.Value = Date 使日期控件中顯示當前系統(tǒng)的日期時間 Call LoadFile 調(diào)用過程,在窗體文本框中顯示數(shù)據(jù) For i = 1 To 7 Text1(i).Locked = True Next i Adodc2.ConnectionString = PublicStr 連接數(shù)據(jù)庫 Adodc2.RecordSource = select * from 會議記錄 order by 編號 Adodc2.Refresh Call DBGCon Call Tbr_cortrol(Tbr_xxcz, True)End Sub在窗體的文本框中按下鍵盤上的Enter鍵或、方向箭頭鍵時,光標將按照文本框的次序依次移動。在文本框控件的鍵盤按下事件(KeyDown)中通過限制索引Index值和鍵盤代碼值能夠控制光標移動的順序,實現(xiàn)的代碼如下:Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) On Error Resume Next 執(zhí)行錯誤處理 If KeyCode = 13 Then If Index = 1 Then 如果在索引值為1的文本框中按下回車鍵,光標將落在日期控件當中 DT1.SetFocus Exit Sub 退出當前過程 ElseIf Index = 2 Then Call Cmd_Select_Click Exit Sub End If End If If Index = 0 And KeyCode = 40 Then Text1(Index + 1).SetFocus If Index = 0 And KeyCode = 13 Then Text1(Index + 1).SetFocus If Index = 7 And KeyCode = 13 Then Call Saves 調(diào)用保存按鈕事件 End IfEnd Sub單擊選中數(shù)據(jù)網(wǎng)格中的記錄,可以使所選中的記錄顯示在窗體的文本框當中。設(shè)計思路為:將Ado數(shù)據(jù)集結(jié)果反綁定到文本框,名稱為Dgr_Sjll的DataGrid控件代碼如下:Private Sub Dgr_Sjll_Click() On Error Resume Next 執(zhí)行錯誤處理 If Adodc2.Recordset.RecordCount 0 Then 判斷該記錄是否存在 Text1(0).Text = Adodc2.Recordset.Fields(0) Text1(1).Text = Adodc2.Recordset.Fields(1) Text1(2).Text = Adodc2.Recordset.Fields(3) Text1(3).Text = Adodc2.Recordset.Fields(4) DT1.Value = Adodc2.Recordset.Fields(2) Text1(4).Text = Adodc2.Recordset.Fields(5) Text1(5).Text = Adodc2.Recordset.Fields(6) Text1(6).Text = Adodc2.Recordset.Fields(7) Text1(7).Text = Adodc2.Recordset.Fields(8) Txt_Date.Text = Adodc2.Recordset.Fields(9) Txt_lxr.Text = Adodc2.Recordset.Fields(10) End If For i = 0 To 7 重新鎖定文本框,禁止輸入數(shù)據(jù)信息 Text1(i).Locked = False Next iEnd Sub3.4 一周工作安排一年共有52周,那么在周工作安排中通過選擇年和年的第幾周(052周),可以維護或查看所選擇年中的所選擇周的工作安排信息。利用MSHFlexGrid控件和文本框控件相結(jié)合的方法可以實現(xiàn)該項功能。一周工作安排模塊的運行結(jié)果如圖8所示。圖8 一周工作安排模塊的運行結(jié)果1窗體設(shè)計(1)在工程中添加1個窗體,將該窗體命名為“frm_gzap”,BorderStyle屬性設(shè)置為“0-None”,MaxButton的屬性設(shè)置為“False”。(2)在窗體上添加2個ComboBox控件,如圖9所示。(3)在窗體上添加1個MSHFlexGrid控件,將其名稱命名為“MSH1”。(4)在窗體上添加3個CommandButton控件,分別將其名稱命名為“Cmd_Save”、“Cmd_Add”、“Cmd_exit”,Caption屬性設(shè)置為“保存”、“添加”和“退出”。(5)在窗體上添加1個標簽控件,用于顯示當前所選擇的年及周的日期段信息。一周工作安排窗體的設(shè)計結(jié)果如圖9所示。圖9 一周工作安排窗體的設(shè)計結(jié)果2代碼設(shè)計在窗體啟動時,設(shè)置MSHFlexGrid控件在窗體上顯示的行數(shù)和列數(shù),同時設(shè)置在控件中顯示的行標題和列標題,窗體啟動時的事件代碼如下:Private Sub Form_Load() Dim StrWeek As String For i = 1 To 52 StrWeek = 第 & i & 周 Combo1.AddItem (StrWeek) Next i MSH1.Rows = 3 MSH1.Cols = 6 MSH1.ColHeaderCaption(0, 0) = 星期一 MSH1.ColWidth(0) = 500 For i = 1 To 5 MSH1.ColWidth(i) = 1850 MSH1.ColAlignment(i) = 4 居中對齊 Next i MSH1.RowHeight(0) = 500 限定控件第1行的高度 MSH1.RowHeight(1) = 1800 限定控件第2行的高度 MSH1.RowHeight(2) = 1800 限定控件第3行的高度 MSH1.TextMatrix(0, 1) = 星期一 MSH1.TextMatrix(0, 2) = 星期二 MSH1.TextMatrix(0, 3) = 星期三 MSH1.TextMatrix(0, 4) = 星期四 MSH1.TextMatrix(0, 5) = 星期五 MSH1.TextMatrix(1, 0) = 上午 MSH1.TextMatrix(2, 0) = 下午 Text1.Width = MSH1.CellWidth - 50 Text1.Height = MSH1.CellHeight - 50 Text1.Left = MSH1.Left + MSH1.CellLeft Text1.Top = MSH1.Top + MSH1.CellTopEnd Sub單擊MSHFlexGrid控件中的單元格,可以限定輔助文本框的大小及顯示位置,使文本框高度、寬度及位置與選中MSHFlexGrid控件單元格的大小及位置相同,實現(xiàn)的代碼如下:Private Sub MSH1_Click() Text1.Width = MSH1.CellWidth 50 限定文本框的寬度 Text1.Height = MSH1.CellHeight 50 限定文本框的高度 Text1.Left = MSH1.Left + MSH1.CellLeft 限定文本框距窗體左端的距離 Text1.Top = MSH1.Top + MSH1.CellTop 限定文本框距窗體頂端的距離 Text1.Visible = True Text1.SetFocusEnd Sub在選擇第幾周(一年共有52周)時,如果已經(jīng)維護了工作安排,則在MSHFlexGrid控件中的單元格中將顯示已經(jīng)維護的工作安排的內(nèi)容,同時將文本框的Visible屬性設(shè)置為False,使文本框不可見,代碼如下:Private Sub Combo1_Change() AdoRs.Open select * from 一周工作安排 where 第幾周= + Combo1.Text + and 年份= + Combo2.Text + , Cnn, adOpenKeyset If AdoRs.RecordCount 0 Then MSH1.TextMatrix(1, 1) = AdoRs.Fields(周一上午) MSH1.TextMatrix(2, 1) = AdoRs.Fields(周一下午) MSH1.TextMatrix(1, 2) = AdoRs.Fields(周二上午) MSH1.TextMatrix(2, 2) = AdoRs.Fields(周二下午) MSH1.TextMatrix(1, 3) = AdoRs.Fields(周三上午) MSH1.TextMatrix(2, 3) = AdoRs.Fields(周三下午) MSH1.TextMatrix(1, 4) = AdoRs.Fields(周四上午) MSH1.TextMatrix(2, 4) = AdoRs.Fields(周四下午) MSH1.TextMatrix(1, 5) = AdoRs.Fields(周五上午) MSH1.TextMatrix(2, 5) = AdoRs.Fields(周五下午) Label1.Caption = AdoRs.Fields(時間段) Text1.Visible = False 將文本框設(shè)置為不可見狀態(tài) End If AdoRs.Close 關(guān)閉記錄集對象End Sub單擊【保存】按鈕將通過SQL語句保存維護的工作安排信息,實現(xiàn)的代碼如下:Private Sub Cmd_Save_Click() MSH1.TextMatrix(2, 5) = Text1.Text If Combo1.Text = Then MsgBox 請選擇錄入工作安排的周數(shù), 48, 提示信息 Else c = MsgBox(確認保存信息嗎, 33, 提示信息) If c = vbOK Then 如果選擇的是“確定”按鈕,則保存信息 Set AdoRs = Cnn.Execute(UPDATE 一周工作安排 SET 周一上午 = & MSH1.TextMatrix(1, 1) & ,周一下午=& MSH1.TextMatrix(2, 1) & ,周二上午= & MSH1.TextMatrix(1, 2) &,周二下午= & MSH1.TextMatrix(2, 2)& ,周三上午= & MSH1.TextMatrix(1, 3) & ,周三下午= & MSH1.TextMatrix(2, 3) & ,周四上午=& MSH1.TextMatrix(1, 4) & ,周四下午= & MSH1.TextMatrix(2, 4) & ,周五上午= & MSH1.TextMatrix(1, 5)& ,周五下午= & MSH1.TextMatrix(2, 5) & where 第幾周= + Combo1.Text + ) MsgBox 數(shù)據(jù)保存成功, 64, 提示信息 End If End IfEnd Sub3.5 報銷費用管理費用報銷是企業(yè)運營過程中必不可少的一個環(huán)節(jié)。在填寫完報銷單的時候,要經(jīng)過審核該報銷單據(jù)才有效。審核的操作過程為:在窗體左側(cè)的部門列表中選擇某一部門之后,然后在右側(cè)的數(shù)據(jù)控件中選擇該部門中具體報銷的單據(jù),此時在窗體的文本框中即可顯示該報銷單據(jù)的信息,在審核人旁邊的文本框中輸入審核人姓名之后,單擊【審核】按鈕審核信息。除了審核信息之外,在窗體中還可以按照部門打印出每個部門的報銷費用信息,在部門列表中選擇某一個部門之后,此時工具欄中的【打印】按鈕變?yōu)榭捎脿顟B(tài),單擊【打印】按鈕即可打印出該部門的報銷單據(jù)信息。報銷費用管理模塊的運行結(jié)果如圖10所示。圖10 報銷費用管理模塊運行結(jié)果打印部門報銷費用信息的報表界面運行結(jié)果如圖11所示。圖11 打印部門報銷費用信息的報表界面運行結(jié)果1窗體設(shè)計(1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_bxfy”,BorderStyle屬性設(shè)置為“0-None”,MaxButton的屬性設(shè)置為“False”。(2)在窗體上添加1個Toolbar控件及1個ImageList控件。(3)為窗體制作如圖12所示的工具欄。(4)在窗體上添加2個ComboBox控件,分別命名為“Cbx_lx”和“Cbx_bm”,用于記錄費用類型和部門信息,同時將這2個控件的Style屬性都設(shè)置為“0”。(5)窗體上添加1個DTPicker控件,命名為DT,用于顯示和輸入報銷費用的時間。(6)在窗體上添加1個文本框控件數(shù)組,數(shù)組中包含有5個文本框控件。(7)在窗體上添加1個Ado控件和1個DataGrid控件,將DataSource屬性設(shè)置為“Adodc1”,AllowUpdate屬性設(shè)置為“False”。(8)在窗體上添加1個Line控件,并將其BorderColor屬性值設(shè)置為“&H00008000&”。(9)在窗體上添加1個ListView控件,ListView控件屬于ActiveX控件,在使用之前必須從“部件”對話框中添加到工具箱。添加方法如下:在“工程”/“部件”對話框中勾選“Microsoft Windows Common Controls6.0”列表項,單擊【確定】按鈕之后即可將ListView控件添加到工具箱當中。(10)在窗體上添加1個標簽控件默認為Label9,用于顯示統(tǒng)計出來的報銷費用的金額。報銷費用管理窗體的設(shè)計結(jié)果如圖12所示。圖12 報銷費用管理窗體的設(shè)計結(jié)果2代碼設(shè)計ADO對象和控件連接到數(shù)據(jù)庫,同時調(diào)用Tj過程統(tǒng)計報銷費用的金額,調(diào)用RefreshData事件,來實現(xiàn)刷新ListView控件中數(shù)據(jù)內(nèi)容。窗體啟動時的代碼如下:Private Sub Form_Load() Call LoadFile DT1.Value = Date 將報銷費用的時間設(shè)置為當前系統(tǒng)的日期時間 Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = select * from 報銷費用管理 order by ID Adodc1.Refresh Call Tj 統(tǒng)計費用金額 Call RefreshData Call Tbr_cortrol(Tbr_xxcz, True) Tbr_xxcz.Buttons(12).Enabled = False Tbr_xxcz.Buttons(9).Enabled = FalseEnd Sub在Tj過程當中,通過sum函數(shù)統(tǒng)計報銷費用的總金額。用戶自定義Tj事件的過程代碼如下:Private Sub Tj() AdoRs.Open select sum(金額) from 報銷費用管理 , Cnn, adOpenKeyset If AdoRs.RecordCount 0 Then Label9.Left = 5300 Label9.Caption = 報銷費用總計金額為 & AdoRs.Fields(0) & 元 End If AdoRs.Close End Sub在RefreshData過程當中,首先將ListView控件中的內(nèi)容清空,然后在通過Do While循環(huán)將部門名稱信息添加到ListView控件當中。用戶自定義RefreshData過程代碼如下:Private Sub RefreshData() AdoRs.Open select distinct 部門 from 報銷費用管理, Cnn, adOpenKeyset If AdoRs.RecordCount 0 Then AdoRs.MoveFirst ListView1.ListItems.Clear ListView1.Enabled = True AdoRs.MoveFirst Do While AdoRs.EOF = False Key = AdoRs.Fields(部門) Set itmX = ListView1.ListItems.Add(, , Key, 1) AdoRs.MoveNext Loop Else ListView1.Enabled = False 如果當前數(shù)據(jù)表中沒有部門信息,則將ListView設(shè)置為不可用的狀態(tài) End If Ado
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司電商活動策劃方案
- 公司職員會議活動方案
- 可摘義齒固位技術(shù)-洞察及研究
- 2025年供熱通風與空調(diào)工程師考試試題及答案
- 2025年法律與生物倫理的考試試題及答案
- 2025年中國類人膠原蛋白行業(yè)市場全景分析及前景機遇研判報告
- 2024年度浙江省護師類之主管護師典型題匯編及答案
- 公寓防火安全教育
- 員工入職三級安全培訓
- DB43-T 2864-2023 土家族非遺樂器咚咚喹通.用技術(shù)要求
- 2023年黑龍江省文化和旅游系統(tǒng)事業(yè)單位人員招聘筆試模擬試題及答案解析
- 2023年江西新余市數(shù)字產(chǎn)業(yè)投資發(fā)展有限公司招聘筆試題庫含答案解析
- LY/T 3323-2022草原生態(tài)修復技術(shù)規(guī)程
- 部編版六年級語文下冊課件第1課《北京的春節(jié)》《臘八粥》
- 涂裝工模擬練習題含答案
- 2023-2024學年河南省永城市小學數(shù)學二年級下冊期末評估測試題
- 乳腺疾病的超聲診斷 (超聲科)
- 服務(wù)精神:馬里奧特之路
- 《建筑施工安全檢查標準》JGJ59-2011圖解
- 華為大學人才培養(yǎng)與發(fā)展實踐
- 醫(yī)療垃圾廢物處理課件
評論
0/150
提交評論