【正文】
e If TypeOf ctl Is Label And = 1 Then = Not 名稱 字段名稱 類型 主鍵 忽略空值姓名 x i n g m i n g 文本 否 否性別 x i n g bi e 文本 否 否籍貫 j i g u a n 文本 否 否生日 s h e n g r i 文本 否 否學(xué)歷 x u e l i 文本 否 否專業(yè) z h u a n y e 文本 否 否部門 bu m e n 文本 否 否工齡 g on g l i n g 文本 否 否備注 be i z h u 文本 否 否 End If Next End Sub 在啟動(dòng) 的第一個(gè)窗體中添加如下代碼(控制滾動(dòng)條速度); Private Sub Form_Load() Dim rate As Integer With = 11 .Min = 1 .Max = 30000 For rate = .Min To .Max .Value = rate = CInt(rate / .Max * 100) amp。 使用 sub main 過(guò)程以便在啟動(dòng)時(shí)顯示閃屏,在應(yīng)用程序的啟動(dòng)執(zhí)行時(shí),用戶忙于注視閃屏,這讓用戶感覺(jué)好象應(yīng)用程序正在快速加載,在啟動(dòng)例程完成時(shí),可以加載應(yīng)用程序中的第一個(gè)窗體,并卸載閃屏。 本模塊界面如圖 62 所示 : 圖 62 ‘在通用中輸入如下代碼,表明連接的數(shù)據(jù)庫(kù)是當(dāng)前路徑中 DB 文件夾里的數(shù)據(jù)庫(kù)文件 Const Con_DBpath As String = DB\ Public Glb_MyWkSp As Workspace Public Glb_MyDB As Database Dim db_set As Recordset 在確定按鈕中輸入如下代碼,如果輸入的用戶名和密 碼不是查詢員“ admin” ,也不是user 表里的用戶名和密碼,就會(huì)提示“輸入錯(cuò)誤 ,請(qǐng)重新輸入”,這里給了 6 次機(jī)會(huì),超過(guò) 6次就強(qiáng)行退出。 amp。 39。 amp。 39。 該模塊的代碼如下: Const Con_DBpath As String = DB\ Public Glb_MyWkSp As Workspace Public Glb_MyDB As Database Private Sub Command1_Click() If = Then response = MsgBox(請(qǐng)輸入用戶名 ., vbOKOnly, 錯(cuò)誤 ) Exit Sub End If If = Then response = MsgBox(請(qǐng)輸入密碼 ., vbOKOnly, 錯(cuò)誤 ) Exit Sub End If Set Glb_MyWkSp = Workspaces(0) Set Glb_MyDB = (Con_DBpath) SQLStr = INSERT INTO user VALUES (39。 amp。,39。 amp。) SQLStr response = MsgBox(登錄成功 ,你的用戶名是 : amp。 。 amp。 本模塊包括4個(gè)子模塊:學(xué)生信息錄入模塊、學(xué)生信息查詢模塊、學(xué)生信息修改模塊和學(xué)生信息刪除模塊。 輸入:姓名、性別、籍貫、出生年月、學(xué)歷、專業(yè)、部門、職務(wù)、工齡和備注。 ②將頁(yè)面上輸入的信息添加到數(shù)據(jù)苦的 xinxi 表中。 3)模塊使用的數(shù)據(jù)表。 4)操作。 在【錄入】按鈕的 Click 事件中輸入如下代碼: Private Sub Command1_Click() If = Then MsgBox 請(qǐng)輸入學(xué)生姓名。 , vbOKOnly Exit Sub End If If = Then MsgBox 請(qǐng)輸入學(xué)生出生年月日。 , vbOKOnly Exit Sub End If If = Then MsgBox 請(qǐng)輸入學(xué)生專業(yè)。 , vbOKOnly Exit Sub End If If = Then MsgBox 請(qǐng)輸入學(xué)生職務(wù)。 , vbOKOnly Exit Sub End If 這段代碼的作用是在按【錄入】時(shí),分別檢測(cè)各個(gè)文本框,如果有空值的就顯示Messagebox 提示要輸入的內(nèi)容。 , vbOKOnly Exit Sub End If 這段代碼的作用是,如果沒(méi)有選擇“學(xué)生性別”,則顯示 Messagebox“請(qǐng)選擇性別。 xingming = If = True Then xingbie = Else xingbie = End If jiguan = shengri = xueli = zhuanye = bumen = zhiwu = gongling = beizhu = 這段代碼是將 的值賦給變量 xingming;如果 Option 的 Value 屬性為 True,則將 Option1 .Caption 的值賦給變量 xingbie;如果 Option2 的 Value 屬性為 True,則將 的值賦給變量 xingbie。將 的值賦給變量 shengri。將 的值賦給變量 zhuanye。將 的值賦給變量 zhiwu。將 Text17 的值賦給變量 beizhu。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 MsgBox 學(xué)生信息輸入成功! , vbOKOnly Exit Sub End Sub 這段代碼是指插入成功后,顯示 messagebox“學(xué)生信息輸入成功!”。 輸入:姓名、性別、籍貫、出生年月、學(xué)歷、專業(yè)、部門、職務(wù)和工齡。 ②將頁(yè)面上輸入的項(xiàng)目作為 where 條件,沒(méi)有輸入的項(xiàng)目不作為 where. 輸出:姓名、性別、籍貫、出生年月、學(xué)歷、專業(yè)、部門、職務(wù)和工齡。 圖6-4 3)模塊使用的數(shù)據(jù)表。 4)操作。[取消]按鈕的作用是回到主界面。在[查詢]按鈕的 Click 事件中輸入以下代碼: Private Sub Command4_Click() Dim where where = xingming = xingbie = jiguan = shengri = xueli = zhuanye = bumen = zhiwu = gongling = i = 1 For i = 1 To 499 With MSHFlexGrid1 .TextMatrix(i, 0) = .TextMatrix(i, 1) = .TextMatrix(i, 2) = .TextMatrix(i, 3) = .TextMatrix(i, 4) = .TextMatrix(i, 5) = .TextMatrix(i, 6) = .TextMatrix(i, 7) = .TextMatrix(i, 8) = End With Next If xingming Then where = where amp。 amp。 39。 AND xingbie = 39。 xingbie amp。 End If If jiguan Then where = where amp。 amp。 39。 AND shengri = 39。 shengri amp。 End If If xueli Then where = where amp。 amp。 39。 AND zhuanye = 39。 zhuanye amp。 End If If bumen Then where = where amp。 amp。 39。 AND zhiwu = 39。 zhiwu amp。 End If If gongling Then where = where amp。 amp。 39。 , vbOKOnly Exit Sub Else = True SQLStr = SELECT * FROM xinxi Set db_set = (SQLStr) line = 0 Do While = False line = line + 1 xingming = (0) xingbie = (1) jiguan = (2) shengri = (3) xueli = (4) zhuanye = (5) bumen = (6) zhiwu = (7) gongling = (8) 這段代碼是使用 Do… While… loop 依次循環(huán)將查詢出來(lái)的數(shù)據(jù)賦給變量 xingming、xingbie、 jiguan、 shengri、 xueli、 zhuanye、 bumen、 zhiwu 和 gongling。定義列數(shù) .Cols = 9 39。固定表頭 .FixedRows = 1 39。 where = Mid(where, 5, Len(where)) 這段代碼是指由于 where 條件在積累時(shí)最前面有一個(gè) ”AND”存在,這不符合 SQL 的書寫規(guī)則,因此使用“ Mid”函數(shù)將前面的“ And”去掉,保證 SQL 能正確執(zhí)行。 where Set db_set = (SQLStr) 這段代碼是以積累的 where 條件查詢表 xinxi,看看有幾條滿足 where 條件的數(shù)據(jù)記錄。 , vbOKOnly Exit Sub 這段代碼的作用是,如果沒(méi)有滿足 where 條件的記錄,則顯示 messagebox”沒(méi)有滿足條件的記錄。 where Set db_set = (SQLStr) 這段代碼的作用是,如果沒(méi)有滿足 where 條件的記錄時(shí),則查詢所有滿足 where 條件的記錄。定義列數(shù) .Cols = 9 39。固定表頭 .FixedRows = 1 39。 (3)學(xué)生信息修改模塊 1)學(xué)生信息修改模塊的 IPO 圖。 處理: ①以原來(lái)的學(xué)生信息為 where 條件查詢數(shù)據(jù)庫(kù)。 ③如果記錄不存在,則不更新數(shù)據(jù)庫(kù)。 2)本模塊界面如圖所示。本頁(yè)面使用了 數(shù)據(jù)庫(kù)中的 xinxi 數(shù)據(jù)表。當(dāng)進(jìn)入主頁(yè)面后,單擊“學(xué)生信息查詢”便會(huì)出現(xiàn)上面的界面。 5)代碼及實(shí)現(xiàn)方式。 AND xingming = 39。 xingming amp。 End If If xingbie Then where = where amp。 amp。 39。 AND jiguan = 39。 jiguan amp。 End If If shengri Then where = where amp。 amp。 39。 AND xueli = 39。 xueli amp。 End If If zhuanye Then where = where amp。 amp。 39。 AND bumen = 39。 bumen amp。 End If If zhiwu Then where = where amp。 amp。 39。 AND gongling = 39。 gongling amp。 End If If where = Then MsgBox 請(qǐng)輸入原信息。 where Set db_set = (SQLStr) If (0) = 0 Then MsgBox 沒(méi)有滿足條件的記錄。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 where SQLStr MsgBox 商品信息更新成功。 輸入:姓名、性別、籍貫、出生年月、學(xué)歷、專業(yè)、部門、職務(wù)和工齡。 ③如果記錄不存在,則顯示 messagebox,提示無(wú)此記錄。 2)本模塊界面入圖所示。 3)模塊所使用的