




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、企業管理軟件設計開發(部門維護系統)設計文檔設計者:羅紅亮時間:2009-5-6第1頁共12頁目錄1 系統介紹 31.1 軟件操作流程圖 31.2 VB 下方法調用流程圖 42 數據庫操作部分 52.1 數據庫連接 52.2 VB下對數據庫操作語句(提取、插入、刪除等) 53 部門數據編輯操作部分 63.1 在選中部門下添加部門信息 63.2 修改選中部門信息 73.3 刪除選中部門信息 84 部門信息保存操作部分 105 關于該系統 115.1 系統所存在的不足 116 設計總結 12第 2 頁 共 12 頁1 刖言1.1軟件操作流程圖交件漏輯互看留口幫助第5頁共12頁蛆織機構0100E Q
2、1OE oioe E2E0E oeaiE ocoeE 0203E (RME oeasE (BAG0300E 0301E 0302匏門編號部門名稱02000的102020203020402050206部部部.部部部場劃施發術試市規實開技測備注上級部門上級部門編號織舟舟舟舟舟o o O o o O O 2 2 o o O020 0 0o o O2 2 2 o o O圖1.1軟件圖形界面編輯/刪除選中部門信息圖1.2軟件操作流程圖1.2 VB下方法調用流程視圖圖1.3方法調用流程圖2 數據庫操作部分2.1 數據庫連接在軟件打開時界面所有控件內容為空,通過 “文件 /連接數據庫”從數據庫下載數據到Tr
3、eeView控件和MSFlexGrid控件,從而有如圖1.1所示的效果。 連接數據庫通過如下配置實現:Public conn As Variant'定義數據庫連接字符Public rs As Variant'定義創建Recordset 對象Set conn = New ADODB.ConnectionSet rs = New ADODB.RecordsetSet rs1 = New ADODB.Recordsetconn.ConnectionString = "Driver=sqlserver;server=USER-EF373E3BAF;uid=sa;pwd=123
4、456;database=BMDB"conn.ConnectionTimeout = 30conn.Open在連接數據庫前首先要在VB菜單中“工程/引用”從中選擇microsoftactiveX Data objects 2.6 library 和 microsoft activeX Data objects recordset2.8 library 兩個組件,這是在連接數據前所必做的工作。目的要為接下來定義ADO的連接對象做好準備。2.2 VB 下對數據庫操作語句(提取、插入、刪除等)提取語句:rs.Open "select * from BMDM", conn
5、, adOpenStatic, adLockReadOnly, adCmdText插入語句:sql = "insert into BMDM( 表元素 ) values (待插入值)conn.Execute (sql)'執行上面的sql 語句刪除語句:sql = "delete from BMDM where 條件表達式"conn.Execute (sql)第 13 頁 共 12 頁3 部門數據編輯操作部分3.1 在選中部門下添加部門信息部分程序如下:判斷部門編號在組織機構中是否有同編號處理代碼:rs.Open "select * from BMD
6、M", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFIf txt5 = "0000" ThenBMID_Flag = TrueEnd IfIf txt5 = rs("BMID") ThenBMID_Flag = TrueEnd Ifrs.MoveNextWendrs.Close判斷部門名稱在同級下是否同名處理代碼:rs.Open "select BMMC from BMDM where SJBMID='" & BMWH.TV_Sel
7、ect & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFIf txt6 = rs("BMMC") ThenBMMC_Flag = TrueEnd Ifrs.MoveNextWendrs.Close做插入處理部分代碼:If BMID_Flag = True ThenMsgBox " 部門編號在組織機構中有同編號的同名沖突,請重設!", vbOKOnly, " 沖突提示"txt(5).Text = "&qu
8、ot;txt(5).SetFocusBMID_Flag = FalseElseIf BMMC_Flag = True ThenMsgBox " 部門名稱與同級目錄下部門名稱有同名沖突,請重設!", vbOKOnly, " 沖突提示"txt(6).Text = ""txt(6).SetFocusBMMC_Flag = FalseElseIf txt5 = "" ThenMsgBox " 部門編號不能為空,請設置!", vbOKOnly, " 非空提示"txt(5).SetFoc
9、usElseIf txt6 = "" ThenMsgBox " 部門名稱不能為空,請設置!", vbOKOnly, " 非空提示"txt(6).SetFocusElsesql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & txt5 & "' , '" & txt6& "','" & txt7 & "'
10、,'" & txt8 & "','" & txt9 & "')"conn.Execute (sql)txt(5).Text = ""txt(6).Text = ""txt(7).Text = ""MsgBox " 部門已經成功添加!", vbOKOnly, "OK"BMWH.Form_LoadUnload MeEnd IfEnd IfEnd IfEnd If先判斷整個組織機構中是否有
11、同編號,如果有則將存在同編號標志BMID_Flag置為True,然后再判斷同級下是否有同部門名稱,如果有則將同部門名稱標志置 BMMC_Flag置為True。接下來就根據標志位的取值做部門的插入操作。3.2 修改選中部門信息做修改處理部分代碼:If BMID_Flag = True ThenMsgBox " 部門編號在組織機構中有同編號的同名沖突,請重設!", vbOKOnly, " 沖突提示"Txt(5).Text = txt5Txt(5).SetFocusBMID_Flag = FalseElseIf BMMC_Flag = True ThenMsg
12、Box " 部門名稱與同級目錄下部門名稱有同名沖突,請重設!", vbOKOnly, " 沖突提示"Txt(6).Text = txt6Txt(6).SetFocusBMMC_Flag = FalseElseIf txt5 = "" ThenMsgBox " 部門編號不能為空,請設置!", vbOKOnly, " 非空提示"Txt(5).SetFocusElseIf txt6 = "" ThenMsgBox " 部門名稱不能為空,請設置!", vbOKOn
13、ly, " 非空提示"Txt(6).SetFocusElse'sql = "update BMDM set BMID='" & txt5 & "',BMMC='" & txt6 & "',BZ='" & txt7 &"' where BMID='" & txt5 & "'"rs.Open "select * from BMDM wh
14、ere SJBMID='" & Txt(0).Text & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOF'將其子部門的SJBMID 對應的修改成修改項txt0 = rs("BMID")txt1 = rs("BMMC")txt2 = rs("BZ")txt3 = rs("SJBM")txt4 = txt5sql = "delete from BMDM
15、where BMID='" & txt0 & "'"conn.Execute (sql)sql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & txt0 & "' , '" & txt1 & "','" & txt2 & "','" & txt3 & "
16、39;,'" & txt4 & "')"conn.Execute (sql)rs.MoveNextWendrs.Closesql = "delete from BMDM where BMID='" & Txt(0).Text & "'"conn.Execute (sql)sql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & Txt(5).Text&
17、 "' , '" & Txt(6).Text & "','" & Txt(7).Text & "','" & Txt(8).Text & "','" & Txt(9).Text & "')"conn.Execute (sql)BMWH.Form_LoadMsgBox " 部門已經成功修改!", vbOKOnly, "OK"
18、Unload MeEnd IfEnd IfEnd IfEnd If在做修改操作之前也和插入操作一樣要做組織機構是否有同編號判斷和同級下是否有同部門名稱判斷,然后再依據判斷得到的標志位進行修改操作。3.3 刪除選中部門信息做刪除處理部分代碼:將確定待刪除的數據以數組的形式存儲下來:rs.Open "select BMID from BMDM where SJBMID='" & txt1 & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFI
19、= I + 1ReDim Preserve DelSQL(I)DelSQL(I - 1) = rs("BMID")rs.MoveNextWendrs.Close n = II = 1'從第二個數據開始遍歷While I < nrs.Open "select BMID from BMDM where SJBMID='" & DelSQL(I) & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFn = n +
20、 1ReDim Preserve DelSQL(n)'數據再次加載DelSQL(n - 1) = rs("BMID")rs.MoveNextWendrs.CloseI = I + 1Wend做刪除處理部分代碼:While I < nsql = "delete from BMDM where BMID='" & DelSQL(I) & "'"'逐個刪除記錄conn.Execute (sql)I = I + 1Wend其實在做這一塊的時候最重要的是要加載選中部門的下級部門信息,然后再做
21、級聯刪除,完成這一塊所用到的一個處理方法是通過數組多次加載來實現。具體做法是先將數組的第一個數據保存為當前獲取的部門編號信息,然后通過遍歷數組中的部門編號信息從數據庫中查找到上級部門編號與當前遍歷到的數組中編號相匹配的部門信息,然后擴大數組空間,將查找到的匹配的部門編號信息再加載到數組中,直到數據庫遍歷結束,這樣所有待刪除的信息也就全部加載到數組中了,然后要做的工作就是逐個刪除與數組中編號相同的數據庫信息了。4 部門信息保存操作部分做保存處理部分代碼:rs.Open "select * from BMDM", conn, adOpenStatic, adLockReadOn
22、ly, adCmdTextCommD.CancelError = TrueOn Error GoTo ErrHandle ' "取消"異常處理CommD.FileName = "BMWH"CommD.DefaultExt = "BMWH"CommD.Filter = "(*.doc)|*.doc"CommD.InitDir = "C:Documents and SettingsAll UsersDocuments"CommD.Action = 2Open CommD.FileName For Output As #1While Not rs.EOFPrint #1, " 部門編號:", rs("BMID")Print #1, " 部門名稱:", rs("BMMC")Print #1, " 備注:", rs("BZ")Print #1, "上級部門名稱:"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軌道交通設施對城市景觀的影響分析考核試卷
- 鎂礦開采安全風險評估與防范措施考核試卷
- 航運物流與區塊鏈技術考核試卷
- 航空器飛行器駕駛員培訓與考核試卷
- 成人高考法律基礎知識與案例分析考核試卷
- 鉻礦在建筑材料領域的應用研究考核試卷
- 牙齒的常見疾病類型概述
- 體育課急救知識
- 口腔設備學X線洗片機
- 麻醉手術室基礎認知與操作規范
- 昆明市用人單位人員就業(錄用)登記表
- 公司職業病危害防治責任制度
- 第十八章:爬行綱課件
- 米亞羅-孟屯河谷風景名勝區旅游基礎設施建設項目環評報告
- 滁州市第一人民醫院醫療暫存間環保設施提升改造項目環境影響報告表
- 籍貫對照表完整版
- 警用無人機考試題庫(全真題庫)
- 中等職業學校英語課程標準(2020年版)(word精排版)
- 醫保業務知識題庫
- 等級醫院評審中應注意的迎評禮儀
- 吉林省長春市東北師大附中明珠學校2023年物理八年級第二學期期末統考模擬試題含解析
評論
0/150
提交評論