【正文】
(i) Next i FindStr = LTrim(FindStr) 39。SELECT 子句 Dim i As Integer FindStr = 39。 39。單擊“統(tǒng)計(jì)”按鈕,獲取查找條件字符串; 39。設(shè)計(jì)的界面如下: 完成統(tǒng)計(jì)的源代碼如下: Private Sub Command4_Click() 39。顯示統(tǒng)計(jì)結(jié)果 = Sex_M = Sex_F = Age_25 = Age_35 = Age_45 = Age_55 = AGE_65 = Total_age / Total_Num End Sub 2:自定義條件統(tǒng)計(jì)設(shè)計(jì): 在自定義統(tǒng)計(jì)界面中添加和查詢窗體中類似的控件和源代碼。按性別統(tǒng)計(jì)人數(shù) If (職工性別 ) = 男 Then Sex_M = Sex_M + 1 Else Sex_F = Sex_F + 1 End If 39。 為了完成簡(jiǎn)單信息統(tǒng)計(jì),系統(tǒng)設(shè)計(jì)一個(gè)統(tǒng)計(jì)函數(shù) SimpleTJ,在該窗體載入時(shí)執(zhí)行該函數(shù)從而完成信息的統(tǒng)計(jì)。 FindStr Set ADORst = New Recordset FindStr, DB, adOpenStatic, adLockOptimistic Set = ADORst If = 0 Then = False Else = True Exit Sub err1: MsgBox 輸入錯(cuò)誤的查詢條件 , , 輸入錯(cuò)誤 End Sub 員工基本信息統(tǒng)計(jì)界面設(shè)計(jì) 員工基本信息統(tǒng)計(jì)分為簡(jiǎn)單統(tǒng)計(jì)和自定義統(tǒng)計(jì),界面如下: 1:控件設(shè)計(jì):添加一個(gè) sstab 控件, tabs 屬性設(shè)置為 2,當(dāng) tab 為 1 是該控件的caption 屬性設(shè)定 為簡(jiǎn)單項(xiàng)目統(tǒng)計(jì), tab 為 2 時(shí), caption 屬性設(shè)置為自定義條件統(tǒng)計(jì)。設(shè)置查詢條件,返回查詢記錄集,并將此記錄集設(shè)置為網(wǎng)格控件的DataSource。 (i) Next i FindStr = LTrim(FindStr) 39。SELECT 子句 Dim i As Integer On Error GoTo err1 FindStr = 39。 39。單擊“查找”按鈕,獲取查找條件字符串; 39。 Private Sub Command4_Click() 39。 SQLS = True = True = True End Sub 4:查詢按鈕的 click 事件源代碼設(shè)計(jì): 當(dāng)單擊查找按鈕,觸發(fā) click 事件的發(fā)生。 End If 39。 Trim() amp。 39。 amp。 Trim() Else 39。 amp。 ElseIf = 職工年齡 Or = 基本工資 Then 39。 amp。 amp。源代碼設(shè)計(jì)如下: 開(kāi)始 組合框 1=工作時(shí)間 設(shè)定查詢字符變量 設(shè)定查詢字符變量 組合框 2=and 設(shè)定查詢字符變量 設(shè)定查詢字符變量 Private Sub Command1_Click() Dim SQLS As String Dim And_Or As String And_Or = If = 工作時(shí)間 Then 39。 單擊“添加”按鈕,將設(shè)置的條件寫(xiě)入列表框中。設(shè)置單選紐不可見(jiàn) = False = False End Sub 3:添加按鈕的源代碼設(shè)計(jì): 窗體上的添加查詢條件的按鈕的 click 事件完成將當(dāng)前設(shè)定的查詢條件添加到列表框中。向組合框 Combl2 中添加比較運(yùn)算符 = = = Like 39。 完成以上功能的代碼如下: 程序設(shè)計(jì)流程如下: Private Sub Form_Load() Dim i As Integer Set = ADORst = True 39。 2:窗體的 load 事件代碼設(shè)計(jì): 窗體的 load 設(shè)計(jì)完成當(dāng)窗體載入時(shí)完成的事件,這里設(shè)計(jì)完成的事件包括: 設(shè)置網(wǎng)格控件的 DataSource,使之顯示記錄集中的信息。一個(gè) datagrid 控件,用于顯示查詢的結(jié)果。一個(gè)文本框控件,用于輸入查詢條件字段值。字段組合的方式可以是 and 或者 or。查詢添加設(shè)計(jì)成用戶任意添加和刪除查詢條件。 員工基本信息查詢界面設(shè)計(jì) 點(diǎn)擊主界面的數(shù)據(jù)查詢,可以打開(kāi)員工基本信息查詢窗體。系統(tǒng)利用 update 語(yǔ)句實(shí)現(xiàn)記錄集的更新。如果不滿足系統(tǒng)給出警告。 窗體啟動(dòng) 查詢部門表 設(shè)置部門組合框值 查詢員工表 顯示第一條記錄 結(jié)束 3:添加按鈕 click 事件程序設(shè)計(jì)流程如下: 代碼設(shè)計(jì): Private Sub Command1_Click() Mode = add If = 添加 Then Call CanEdit = 保存 For i = 0 To 7 Text(i).Text = Next i = Else Call NoEdit For i = 0 To 7 If Text(i).Text = Then MsgBox 輸入信息不能為空! , vbOKOnly + vbExclamation, 警告 Text(i).SetFocus Exit Sub End If Next i If = Then MsgBox 輸入信息不能為空! , vbOKOnly + vbExclamation, 警告 開(kāi)始 Caption=添加 Caption=保存 文本框可用值空 Caption=添加 文本框非空 警告結(jié)束 添加記錄集 更新記錄集 結(jié)束 Exit Sub End If If Not IsDate(Text(5).Text) Then MsgBox 工作時(shí)間應(yīng)輸 入日期( yyyymmdd)! , vbOKOnly + vbExclamation, 警告 Text(5).SetFocus Exit Sub Else Text(5).Text = Format(Text(5).Text, yyyymmdd) End If = 添加 For i = 0 To 7 (i) = Text(i).Text Next i (i) = End If End Sub 代碼設(shè)計(jì)說(shuō)明:首先將 mand1 的 caption 屬性值修改為保存,當(dāng)員工信息添加后再點(diǎn)擊保存,將 caption 屬性值修改為添加,這樣增強(qiáng)了系統(tǒng)的交互性。然后定義記錄集 ADORst,利用該記錄集打開(kāi)員工表 emp,并將記錄集的指針指向第一條記錄。從而完成相應(yīng)的功能。文本框控件和組合框控件用于輸 入基本信息和瀏覽顯示基本信息。該窗體完成對(duì)員工的基本信息的添加,修改,刪除,瀏覽等。此時(shí)添加用戶的菜單項(xiàng)為灰色,即不可用狀態(tài)。如果 qx 不等于 1,那么該菜單項(xiàng)為不可用狀態(tài),從而實(shí)現(xiàn)一般操作員不能添加用戶的目的。 2:主界面菜單代碼設(shè)計(jì)如下: Private Sub MDIForm_Load() If qx 1 Then = False End If End Sub Private Sub MNUDATA_Click() 39。相反等于 1,則表明是系統(tǒng)的管理員,權(quán)限子菜單可用。 2:程序流程如下: 程序流程設(shè)計(jì)如下:當(dāng)主窗體啟動(dòng)時(shí),首先判斷全局變量 qx 是否等于 1。菜單分為 5個(gè)菜單,分別是數(shù)據(jù)處理,數(shù)據(jù)查詢,數(shù)據(jù)統(tǒng)計(jì),系統(tǒng)管理。取消用戶用戶登錄。管理員權(quán)限的用戶可以獲得全局變量 qx=1。如果記錄集為空,表明沒(méi)有這個(gè)用戶,如果記錄集中用戶密碼和輸入的文本框中的用戶密碼一致,表明是合法用戶,并對(duì)合法用戶賦予全局變量 username,便于在進(jìn)入系統(tǒng)后追蹤用戶名。, DB, adOpenStatic, adLockOptimistic If = True Then MsgBox 沒(méi)有這個(gè)用戶,請(qǐng)重新輸入用戶名 !, vbOKOnly + vbExclamation, 警告 Else If Trim((密碼 )) = Trim() Then If (權(quán)限 ) = 管理員 Then qx = 1 End If UserName = Trim() Else 開(kāi)始 輸入密碼 Pass=text 進(jìn)入系統(tǒng) X=x+1 x=3 結(jié)束 MsgBox 輸入密碼不正確,請(qǐng)重新輸入! , vbOKOnly + vbExclamation, 警告 = End If End If End If miCount = miCount + 1 If miCount = 3 Then End If Exit Sub End Sub 4:代碼說(shuō)明:首先新建一個(gè)記錄集 ADORst1,利用該記錄集打開(kāi)用戶表。 amp。 程序流程圖 3:代碼設(shè)計(jì):按鈕 mand1 的 caption 屬性為 ok, click 代碼如下: Private Sub cmdOK_Click() If Trim( = ) Then MsgBox 用戶名不能為空! , vbOKOnly + vbExclamation, 警告 Else Set ADORst1 = New select * from user_info where 用戶名 = 39。當(dāng)存 在該用戶時(shí),比較用戶表中的該用戶登錄的密碼和輸入的密碼是否一致,不一致則系統(tǒng)給出警告,并重新輸入,三次輸入密碼錯(cuò)誤,則程序結(jié)束登錄。按鈕控件用來(lái)觸發(fā)相應(yīng)事件的發(fā)生。 1:控件設(shè)計(jì)與說(shuō)明:新建一個(gè)窗體,在窗體上添加標(biāo)簽控件,文本框控件,按鈕控件。系統(tǒng)根據(jù)輸入的用戶名和密碼和數(shù)據(jù)庫(kù)中合法用戶的信息進(jìn)行校驗(yàn)后才能進(jìn)入系統(tǒng)。 登錄界面設(shè)計(jì) 本系統(tǒng)的使用必須是系統(tǒng)的合法用戶,非法用戶不能隨意進(jìn)入,所 以系統(tǒng)對(duì)用戶的進(jìn)入進(jìn)行校驗(yàn)。 歡迎界面自動(dòng)關(guān)閉是利用在窗體上添加一個(gè)時(shí)鐘控件 Timer1,并設(shè)置它的屬性 interval 值為 2021。 啟動(dòng)界面設(shè)計(jì) 程序啟動(dòng)后,出現(xiàn)如圖所示的歡迎界面。 在本系統(tǒng)中采用的可靠性技術(shù)