【正文】
MsgBox 業(yè)務(wù)檔案不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If Set adoPrimaryRS = New Recordset a = select * from TBInfo where 員工編號(hào)=39。錄入后檔案的信息的維護(hù),包括信息的修改,刪除,等操作,可以通過(guò)檔案信息維護(hù)窗體來(lái)完成。按鈕的click事件和員工基本信息輸入的界面按鈕類似,不同是該按鈕觸發(fā)的事件連接的數(shù)據(jù)庫(kù)表是員工業(yè)務(wù)檔案表,而上面是員工基本信息表而已。如下圖:圖46早期人事信息管理系統(tǒng)圖窗體的設(shè)計(jì)包括2個(gè)文本框和1個(gè)組合框,其中1個(gè)文本框?qū)?yīng)的字段由于是備注型,所以文本框的屬性值設(shè)定為: Multiline屬性設(shè)置為T(mén)rue。本功能采用與人事檔案相同對(duì)象編程技術(shù),固源碼得到了重用,這是軟件工程所提供的源碼重用過(guò)程,這樣不僅可以縮短開(kāi)發(fā)周期及減少開(kāi)發(fā)費(fèi)用。這樣當(dāng)最后下標(biāo)越界的時(shí)候,說(shuō)明沒(méi)有找到該記錄,(員工編號(hào)) =a則文本框顯示記錄。當(dāng)未越界的時(shí)候,一直循環(huán)。下面簡(jiǎn)單介紹查找定位按鈕的click事件,其它按鈕的事件源代碼可以參考附件和程序。其它按鈕還有修改按鈕,添加按鈕,刪除按鈕,查找按鈕。第一條,上一條,下一條,最后條的按鈕的click事件分別是將記錄集進(jìn)行移動(dòng),實(shí)現(xiàn)文本框,組合框的不同的顯示。 通過(guò)上面的員工基本信息輸入窗體可以得知,員工基本信息的輸入窗體是不具備數(shù)據(jù)的維護(hù)功能的,員工的基本信息的維護(hù)功能是通過(guò)另外設(shè)計(jì)的窗體完成的。, db, adOpenStatic, adLockOptimistic If Not Then MsgBox 該編號(hào)重復(fù)!, vbOKOnly + vbExclamation, 警告 Exit Sub Else (員工編號(hào)) = (姓名) = (性別) = (部門(mén)) = (民族) = (出生年月) = (政治面貌) = (家庭住址) = (聯(lián)系電話) = (畢業(yè)學(xué)校) = (最高學(xué)歷) = (所學(xué)專業(yè)) = If = Then (職務(wù)) = 無(wú) Else (職務(wù)) = End If (專業(yè)技術(shù)職稱) = (職稱時(shí)間) = (基本工資) = If = Then (獎(jiǎng)懲情況) = 無(wú) Else (獎(jiǎng)懲情況) = End If If = Then (個(gè)人簡(jiǎn)歷) = 無(wú) Else (個(gè)人簡(jiǎn)歷) = End If MsgBox 記載成功!, vbOKOnly + vbExclamation, 提示End If = = = = = = = = = = = = = = = = = = End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Left = ( Width) \ 2Top = ( Height) \ 2End Sub通過(guò)該窗體的操作,系統(tǒng)可以完成對(duì)員工的基本信息的錄入。 a amp。 Set adoPrimaryRS = New Recordset a = select * from ygInfo where 員工編號(hào)=39。該窗體的源代碼具體如下:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command1_Click() If = Then MsgBox 員工編號(hào)不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 姓名不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 性別不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 部門(mén)不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 民族不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 出生年月不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If Not IsDate() Then MsgBox 生日應(yīng)輸入日期(yyyymmdd)!, vbOKOnly + vbExclamation, 警告 Exit Sub Else = Format(, yyyymmdd) End If If = Then MsgBox 政治面貌不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 家庭住址不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 聯(lián)系電話不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 畢業(yè)學(xué)校不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 最高學(xué)歷不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 所學(xué)專業(yè)不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 技術(shù)職稱不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 職稱時(shí)間不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If Not IsDate() Then MsgBox 職稱應(yīng)輸入日期(yyyymmdd)!, vbOKOnly + vbExclamation, 警告 Exit Sub Else = Format(, yyyymmdd) End If If = Then MsgBox 基本工資不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If Dim db As Connection Set db = New Connection = adUseClient PROVIDER=。這樣就完成了對(duì)員工基本信息表的添加記錄。語(yǔ)句:。其中記載按鈕的click事件:當(dāng)單擊該按鈕時(shí),首先檢查文本框輸入的是否為空,接著連接數(shù)據(jù)庫(kù),建立記錄集,并利用記錄集打開(kāi)查詢,最后對(duì)該查詢記錄集增加一條記錄,語(yǔ)句:。其中組合框的值不用用戶輸入,只需用戶選擇,選擇值的設(shè)定可以通過(guò)設(shè)定組合框的list屬性值來(lái)完成,比如設(shè)置性別對(duì)應(yīng)的組合框的list值為:男,女。開(kāi)該屬性的設(shè)置可以使文本框多行顯示,Scrollbars的值設(shè)定為2,該值的設(shè)定可以使組合框的有上下的滾動(dòng)下拉條。文本框控件和組合框控件用來(lái)輸入員工基本信息。 員工檔案信息錄入功能如下圖:圖44員工檔案信息錄入功能界面圖通過(guò)以上相關(guān)技術(shù)的引用,員工基本信息錄入功能編寫(xiě)很快就可以完成了。 State 可讀寫(xiě)Long類型,指定連接是處于打開(kāi)狀態(tài),還是處于關(guān)閉狀態(tài)或中間狀態(tài)。見(jiàn)Mode常數(shù)Provider 可讀寫(xiě)String類型,如果ConnectionString中未指定OLE DB數(shù)據(jù)或服務(wù)提供者的名稱,就使用這時(shí)指定的名稱。 DefaultDatabase 可讀寫(xiě)String類型,如果ConnectString中未指定數(shù)據(jù)庫(kù)名稱,就使用這里所指定的名稱,對(duì)SQL Server而言,其值通常是pubs IsolationLevel 可讀寫(xiě)Long類型,指定和其他并發(fā)事務(wù)交互時(shí)的行為或事務(wù)。 CursorLocation 可讀寫(xiě)Long類型,確定是使用客戶端(adUseClient)游標(biāo)引擎,還是使用服務(wù)器端(adUseServer)游標(biāo)引擎。默認(rèn)值為30秒。默認(rèn)值為0,表示不使用保留事務(wù)。該功能使用Connection對(duì)象以下相關(guān)屬性:Attributes屬性可讀寫(xiě)Long類型,通過(guò)兩個(gè)常數(shù)之和指定是否使用保留事務(wù)(retainning transactions)??梢钥吹皆摯绑w的上面已經(jīng)有了這些設(shè)計(jì)的菜單,通過(guò)點(diǎn)擊設(shè)計(jì)的菜單欄,即可進(jìn)入源代碼設(shè)計(jì)環(huán)境,通過(guò)添加clcik事件源代碼后,即完成了該窗體的設(shè)計(jì)。添加如上圖所示的菜單后,關(guān)閉菜單。系統(tǒng)用戶通過(guò)菜單的操作來(lái)完成系統(tǒng)設(shè)計(jì)的各項(xiàng)功能。接下來(lái)就可以開(kāi)始設(shè)計(jì)第一個(gè)窗體Form1了。圖42 Project界面功能圖即選擇菜單:File→New Project從而彈出如圖所示的界面,選擇Standard EXE,單擊OK,系統(tǒng)此時(shí)創(chuàng)建了一個(gè)工程文件Project1和一個(gè)窗體Form1。面向?qū)ο蟮木幊誊浖褪峭ㄟ^(guò)控件這種對(duì)象,發(fā)出不同的消息,去觸發(fā)相應(yīng)事件的發(fā)生。設(shè)計(jì)窗體就是將前面分析得到系統(tǒng)的功能模塊通過(guò)在Visual ,通過(guò)窗體的操作來(lái)實(shí)現(xiàn)預(yù)訂的模塊的功能。 Visual Basic 是一個(gè)可視化的、面向?qū)ο蟮?、采用事件?qū)動(dòng)的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,它具有強(qiáng)大的數(shù)據(jù)庫(kù)操作功能,提供了數(shù)據(jù)管理器(Data Manager)、數(shù)據(jù)控件(Data Control)、以及ADO(Activex數(shù)據(jù)對(duì)象)等強(qiáng)大工具,利用它能夠建立多種類型的數(shù)據(jù)庫(kù)并可以管理維護(hù)和使用這些數(shù)據(jù)。 應(yīng)用程序是利用數(shù)據(jù)管理,為解決某個(gè)具體的管理或數(shù)據(jù)處理的任務(wù)而編制的一系列命令的有序集合。所設(shè)計(jì)的表的字段就是邏輯結(jié)構(gòu)表中的列名。實(shí)現(xiàn)方法和步驟如下:以英文版本為例:通過(guò)菜單欄:AddIns→Visual Data Manager…點(diǎn)擊出現(xiàn)VisData界面,點(diǎn)擊菜單File→New→Microsoft Access→Vision MDB…彈出保存數(shù)據(jù)庫(kù)文件的存放位置和數(shù)據(jù)庫(kù)的文件名的對(duì)話框。表都應(yīng)有至少一個(gè)關(guān)鍵字,它可使表中的記錄惟一。 這里重點(diǎn)介紹一下表與表之間的關(guān)系: 表是保存數(shù)據(jù)或信息的主要場(chǎng)所,它是一個(gè)二維表,二維表的行稱為一個(gè)記錄,存儲(chǔ)某個(gè)實(shí)體的整體信息,