【正文】
統(tǒng)計 = FalseEnd SubPrivate Sub czysz_Click() 39。調(diào)入密碼設(shè)置 = FalseEnd SubPrivate Sub csh_Click() 39。調(diào)入權(quán)限設(shè)置 = FalseEnd SubPrivate Sub tc_Click() EndEnd Sub ①實現(xiàn)目標 程序啟動后,首先進入系統(tǒng)登錄界面驗證操作員及密碼。 .操作員和密碼驗證成功后,進入主界面。 .輸入三次錯誤的密碼,自動退出系統(tǒng)。圖34系統(tǒng)登錄界面 ②.實現(xiàn)過程 a、在“客房管理系統(tǒng)”工程中,添加一個新窗體,命名為main_mima。 ③在窗體中添加2個Data控件、1個DBC0mbo控件、2個Label控件、1個Text控件、2個Conunand控件。對象屬性值功能Data1Databasename提供數(shù)據(jù)綁定recoudsourceqxszData2Databasename查找數(shù)據(jù)recoudsourceqxszDBCombo1名稱 Text1提供數(shù)據(jù)選擇RowsourceData1Listfield操作員Boundcolumn操作員Text2Passwordchar*輸入密碼Maxlength6表3一9主要控件對象的屬性列表 ④程序流程圖:開始(tim =0)NY輸入用戶名存在此用戶?Y輸入密碼密碼正確否?進入主界面Ntim = tim +1tim =3?Y退出登錄N⑤程序代碼:Dim tim As Integer 39。定義一個字符串變量Private Sub Form_Load() 39。 \ = amp。當記錄為零時,進入系統(tǒng)具有所有權(quán)限 If = 0 Then MsgBox (請先設(shè)置操作員密碼和權(quán)限!) Load main Unload Me Else End IfEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then 39。按回車鍵cmd1獲得焦點If KeyCode = vbKeyUp Then If KeyCode = vbKeyDown Then End SubPrivate Sub cmd1_Click() 39。 amp。 39。密碼輸錯3次,退出系統(tǒng) myval = MsgBox(密碼輸入錯誤,請向系統(tǒng)管理員查詢!, 0, ) If myval = vbOK Then End End If If = Then MsgBox (請輸入操作員!) Else If (操作員) Then MsgBox (查無此操作員,請重新輸入操作員!) Else If = Then MsgBox (請輸入操作員密碼!) Else If (密碼) Then MsgBox (密碼錯誤,請重新輸入密碼!) TIM = TIM + 1 End If End If End If End If End IfEnd IfEnd SubPrivate Sub cmd2_Click() EndEnd Sub一、住宿登記模塊設(shè)計 1.實現(xiàn)目標 程序啟動后,選擇“住宿管理”菜單下的“住宿登記”項,將進入住宿登記模塊。 .提供空閑房間供用戶選擇。 .自動計算折前宿費、實際宿費、宿費提醒時間、退宿時間。 “住宿登記”界面如圖3一5所示。 ⑵在窗體中添加3個Data控件、1個DBCombo控件、3個DTpicker控件、2個Combo控件、18個Text控件等。對象屬性值功能Data1Databasename提供數(shù)據(jù)查找recordsourcedjbData2Databasename提供數(shù)據(jù)查找recordsourcedjbData3Databasename提供數(shù)據(jù)綁定recordsourcedjbDBCombo1RowsourceData3提供數(shù)據(jù)選擇Listfield房間號Boundcolumn房間號Combo1List身份證、軍官證、工作證證件列表Combo2List折扣、招待、掛帳付款方式列表表3一10主要控件對象的屬性列表⑶程序代碼: Dim i As Integer 39。自動識別數(shù)據(jù)庫路徑 = amp。 \ = amp。初始化日期及時間 = 12:00:00 PM: = Date: = Date = (4).Text 39。Comdj獲得焦點End SubPrivate Sub Form_Unload(Cancel As Integer) = True 39。設(shè)置ZSDJ(8)有效 ZSDJ(8).SetFocus 39。設(shè)置ZSDJ(8)有效 ZSDJ(8).Text = 0 39。計算折前宿費 ZSDJ(9).Text = ZSDJ(7).Text 39。計算退宿日期 Case 8 ZSDJ(9).Text = Format(Val(ZSDJ(7).Text) * Val(ZSDJ(8).Text) / 100, ) 39。用val函數(shù)將字符串轉(zhuǎn)換為數(shù)字 = + Int(Val(ZSDJ(10).Text) / Val(ZSDJ(5).Text)) 39。按回車鍵Combo1獲得焦點 Case 1 If KeyCode = vbKeyReturn Then ZSDJ(2).SetFocus 39。按回車鍵ZSDJ(3)獲得焦點 Case 3 If KeyCode = vbKeyReturn Then 39。按回車鍵ZSDJ(5)獲得焦點 Case 5 If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus 39。ZSDJ(11)獲得焦點 Case 11 If KeyCode = vbKeyReturn Then 39。按回車鍵ZSDJ(1)獲得焦點End SubPrivate Sub DTP2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then 39。按回車鍵tim4獲得焦點End SubPrivate Sub tim3_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then 39。按回車鍵Text10獲得焦點End SubPrivate Sub DBCombo1_Change() = select * from kf where 房間號=39。 amp。and 房態(tài)=39。39。 amp。 39。139。查詢住宿登記信息 If 0 Then If = 0 Then ZSDJ(4).Text = (房間類型) 39。賦值給ZSDJ(5) Else MsgBox (此房間已占用或停止使用!!) End If End IfEnd SubPrivate Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus 39。憑證號碼由系統(tǒng)日期、字母+d。首先查詢djb表中的信息,將記錄移到最后一條,假如無記錄,憑證號碼等于系統(tǒng)日期、字母“d”、“001”的組合;假如有記錄,憑證號碼等于系統(tǒng)日期、字母“d、三位數(shù)字編碼加1的組合。查詢空閑房間信息 = select * from kf where 房態(tài)=39。 = select * from kf where 房態(tài)=39。39。 d amp。 d amp。 d amp。清空數(shù)據(jù)For i = 0 To 6 ZSDJ(i).Text = ZSDJ(i).Enabled = TrueNext i ZSDJ(8).Text = : ZSDJ(10).Text = : ZSDJ(11).Text = : = : = 39。ZSDJ(0)獲得焦點End Sub 單擊“確定”按鈕,“1”的住宿登記信息,假如無記錄將添加新記錄到djb表中、添加新記錄到djys表中;,將房間狀態(tài)更新為“入住”狀態(tài)。 \) Set myrs1 = (djys, dbOpenTable) 房間號 like + Chr(34) + + Chr(34) + and 標志 like + Chr(34) + 1 + Chr(34) + If Then 39。(BZ) = Left(Date, 4) amp。 Right(Date, 2) amp。 Left(Right(Time, 5), 2) (標志) = 1 39。添加住宿預(yù)收信息 If Then (憑證號碼) = If ZSDJ(0).Text Then (姓名) = ZSDJ(0).Text If Then (證件名稱) = If ZSDJ(1).Text Then (證件號碼) = ZSDJ(1).Text If ZSDJ(2).Text Then (詳細地址) = ZSDJ(2).Text If ZSDJ(3).Text Then (出差事由) = ZSDJ(3).Text If Then (房間號) = Val() If ZSDJ(5).Text Then (客房價格) = Val(ZSDJ(5).Text) If Then (住宿日期) = If Then (住宿時間) = If ZSDJ(6).Text Then (住宿天數(shù)) = ZSDJ(6).Text If Then (結(jié)款方式) = If ZSDJ(8).Text Then (折扣) = ZSDJ(8).Text If ZSDJ(7).Text Then (宿費) = ZSDJ(7).Text If ZSDJ(9).Text Then (應(yīng)收宿費) = ZSDJ(9).Text If ZSDJ(10).Text Then (預(yù)收金額) = Val(ZSDJ(10).Text) If Then (提醒日期) = If Then (提醒時間) = If Then (退宿日期) = If Then (退宿時間) = If ZSDJ(11).Text Then (備注) = ZSDJ(11).Text (日期) = Date (時間) = Time 39。 Right(Left(Date, 7), 2) amp。 Left(Time, 2) amp。更新記錄 39。設(shè)置控件有效或無效 For i = 0 To 6 ZSDJ(i).Enabled = False Next i ZSDJ(8).Enabled = False: ZSDJ(10).Enabled = False: ZSDJ(11).Enabled = False = False: = False End If = False: = True: = True End SubPrivate Sub cancel_Click() 39。Printer返回一個打印對象,允許與一個系統(tǒng)打印機進行通信。具體代碼如下: Private Sub print_Click() 39。 amp。 NO. amp。 ZSDJ(0).Text B = B + D = 100 + A = B + 200 房間號: amp。 Format(ZSDJ(10).Text, ) B = B + D = 100 + A = B + 200 amp。 ZSDJ(8).Text amp。 B = B + D (A, B + 100)(C, B + 100) = 100 + A = B + 200 操作員: amp。 歡迎光