?? frmsigncontract.frm
字號:
Caption = "元"
Height = 255
Index = 1
Left = 4920
TabIndex = 20
Top = 1560
Width = 255
End
Begin VB.Label Label2
Caption = "元"
Height = 255
Index = 2
Left = 7440
TabIndex = 19
Top = 1560
Width = 255
End
Begin VB.Label Label1
Caption = "業(yè)務(wù)員"
Height = 255
Index = 9
Left = 360
TabIndex = 18
Top = 2160
Width = 735
End
Begin VB.Label Label1
Caption = "簽訂日期"
Height = 255
Index = 10
Left = 2760
TabIndex = 17
Top = 2160
Width = 735
End
End
End
Begin VB.Frame Frame3
Caption = "功能鍵"
Height = 975
Left = 120
TabIndex = 0
Top = 120
Width = 8535
Begin VB.CommandButton cmdZuJin
Caption = "收取租金"
Height = 495
Left = 4680
TabIndex = 58
Top = 240
Width = 975
End
Begin VB.CommandButton cmdYaJin
Caption = "收取押金"
Height = 495
Left = 3360
TabIndex = 57
Top = 240
Width = 975
End
Begin VB.CommandButton cmdReset
Caption = "清空重填"
Height = 495
Left = 6000
TabIndex = 56
Top = 240
Width = 975
End
Begin VB.CommandButton cmdAddClient
Caption = "添加租戶資料"
Height = 495
Left = 1680
TabIndex = 55
Top = 240
Width = 1335
End
Begin VB.CommandButton cmdClose
Caption = "關(guān) 閉"
Height = 495
Left = 7200
TabIndex = 14
Top = 240
Width = 975
End
Begin VB.CommandButton cmdSign
Caption = "簽 訂"
Height = 495
Left = 360
TabIndex = 13
Top = 240
Width = 975
End
End
End
Attribute VB_Name = "frmSignContract"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定義幾個變量用于檢查客戶和房屋狀態(tài),以及打開合同表
Dim rs_ccheck As New ADODB.Recordset
Dim rs_hcheck As New ADODB.Recordset
Dim rs_contract As New ADODB.Recordset
Dim rs_yd As New ADODB.Recordset
Dim rs_qzc As New ADODB.Recordset
Dim sqlc As String
Dim sqlh As String
Dim sqlcon As String
Dim sqlyd As String
Dim sqlqzc As String
'設(shè)置兩個變量用于顯示房屋資料時使用
Dim rs_house As New ADODB.Recordset
Dim sqlhouse As String
Private Sub cmdAddClient_Click()
frmClient.Show
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub cmdReset_Click()
'清空所有text
For i = 0 To 11
Text1(i).Text = ""
Next i
'設(shè)置租期和總租金為不可寫,其值為計算而得
Text1(5).Enabled = False
Text1(7).Enabled = False
'設(shè)定簽訂日期和起租日期為當(dāng)前日期
Text1(10).Text = Date
Text1(3).Text = Date
'設(shè)置簽訂按鈕可用
cmdSign.Enabled = True
End Sub
Private Sub cmdSign_Click()
'先檢查輸入數(shù)據(jù)完整性
For i = 0 To 2
If Text1(i).Text = "" Then
MsgBox "除備注外的所有項不可為空!", vbOKOnly + vbInformation, "注意"
Text1(i).SetFocus
Exit Sub
End If
Next i
For i = 3 To 4
If Text1(i).Text = "" Or IsDate(Text1(i).Text) = False Then
MsgBox "日期應(yīng)為這樣的格式:2003-7-15!", vbOKOnly + vbInformation, "注意"
Text1(i).SetFocus
Exit Sub
End If
Next i
If Text1(6).Text = "" Or IsNumeric(Text1(6).Text) = False Then
MsgBox "月租金應(yīng)為數(shù)字!", vbOKOnly + vbInformation, "注意"
Text1(6).SetFocus
Exit Sub
End If
If Text1(8).Text = "" Or IsNumeric(Text1(8).Text) = False Then
MsgBox "押金應(yīng)為數(shù)字!", vbOKOnly + vbInformation, "注意"
Text1(8).SetFocus
Exit Sub
End If
If Text1(9).Text = "" Then
MsgBox "業(yè)務(wù)員不可為空!", vbOKOnly + vbInformation, "注意"
Text1(9).SetFocus
Exit Sub
End If
If Text1(10).Text = "" Or IsDate(Text1(10).Text) = False Then
MsgBox "簽訂日期應(yīng)為這樣的格式:2003-7-15!", vbOKOnly + vbInformation, "注意"
Text1(10).SetFocus
Exit Sub
End If
'止租日期不能前于起租日期
If DateValue(Text1(4).Text) < DateValue(Text1(3).Text) Then
MsgBox "止租日期不能前于起租日期", vbOKOnly + vbInformation, "注意"
Text1(4).SetFocus
Exit Sub
End If
'租期等于起租日期和止租日期之差,結(jié)尾不足一月,按一月計。
'使用datediff 函數(shù)計算日期之差
Text1(5).Text = Int(DateDiff("d", DateValue(Text1(3).Text), DateValue(Text1(4).Text)) / 31) + 1
'總租金等于月租金乘以租期
Text1(7).Text = Val(Text1(5).Text) * Val(Text1(6).Text)
'檢查完數(shù)據(jù)完整性后,還需要檢查該客戶是否已存入租戶表中,以及該房屋是否為未出租或預(yù)定狀態(tài)
sqlc = "select * from Client where 租戶姓名 = '" & Text1(1).Text & "'"
rs_ccheck.Open sqlc, conn, adOpenStatic, adLockOptimistic
If rs_ccheck.EOF = True Then
rs_ccheck.Close
MsgBox "該客戶資料還未存入租戶資料表中,請先錄入該客戶資料!", vbOKOnly + vbInformation, "注意"
Exit Sub
End If
rs_ccheck.Close
'檢測房屋狀態(tài)
sqlh = "select * from House where 房屋編號 = '" & Text1(2).Text & "'"
rs_hcheck.Open sqlh, conn, adOpenStatic, adLockOptimistic
If rs_hcheck.EOF = True Then
MsgBox "該房屋編號不存在,請重新輸入一個!", vbOKOnly + vbInformation, "注意"
Text1(2).SetFocus
rs_hcheck.Close
Exit Sub
ElseIf rs_hcheck.Fields(8) = "已租" Then
MsgBox "該房屋已經(jīng)出租了,請選擇另一房屋!", vbOKOnly + vbInformation, "注意"
rs_hcheck.Close
Exit Sub
'如果該房屋狀態(tài)為預(yù)定,則需要看預(yù)定人是否為該客戶,如果不是,需要彈出對話框提示用戶
ElseIf rs_hcheck.Fields(8) = "預(yù)定" Then
'檢查該客戶是否為預(yù)定客戶
sqlyd = "select * from YuDing where 預(yù)定房屋編號 = '" & Text1(2).Text & " '"
rs_yd.Open sqlyd, conn, adOpenStatic, adLockOptimistic
'如果該客戶不是預(yù)定客戶,檢查預(yù)定有效期
If Not rs_yd.Fields(1) = Text1(1).Text Then
'如果已經(jīng)過了預(yù)定有效期,別的用戶可以承租
If (Date > DateAdd(d, rs_yd.Fields(4), rs_yd.Fields(8))) Then
'出租,加入合同表
sqlcon = "select * from Contract"
rs_contract.Open sqlcon, conn, adOpenStatic, adLockOptimistic
rs_contract.AddNew
For i = 0 To 11
rs_contract.Fields(i) = Text1(i).Text
Next i
rs_contract.Update
'修改房屋狀態(tài)
rs_hcheck(8) = "已租"
rs_hcheck.Update
'檢查求租客戶表中是否有該客戶,如果有,則刪除之
sqlqzc = "select * from QZClient where 求租客戶姓名 = '" & Text1(1).Text & "'"
rs_qzc.Open sqlqzc, conn, adOpenStatic, adLockOptimistic
If rs_qzc.EOF = False Then
rs_qzc.Delete
rs_qzc.Update
End If
'顯示簽訂合同成功
MsgBox "簽訂合同成功!", vbOKOnly + vbInformation, "注意"
'設(shè)置簽訂按鈕不可用
cmdSign.Enabled = False
cmdYaJin.Enabled = True
cmdZuJin.Enabled = True
'關(guān)閉所有打開的記錄集
rs_qzc.Close
rs_yd.Close
rs_hcheck.Close
rs_contract.Close
Exit Sub
Else
MsgBox "該房屋已經(jīng)被別人預(yù)定了,請選擇另一房屋!", vbOKOnly + vbInformation, "注意"
rs_hcheck.Close
rs_yd.Close
Exit Sub
End If
'該客戶即為預(yù)定客戶,可以出租
ElseIf rs_yd.Fields(1) = Text1(1).Text Then
'出租,加入合同表
sqlcon = "select * from Contract"
rs_contract.Open sqlcon, conn, adOpenStatic, adLockOptimistic
rs_contract.AddNew
For i = 0 To 11
rs_contract.Fields(i) = Text1(i).Text
Next i
rs_contract.Update
'修改房屋狀態(tài)
rs_hcheck(8) = "已租"
rs_hcheck.Update
'刪除預(yù)定表中該項
rs_yd.Delete
rs_yd.Update
'檢查求租客戶表中是否有該客戶,如果有,則刪除之
sqlqzc = "select * from QZClient where 求租客戶姓名 = '" & Text1(1).Text & "'"
rs_qzc.Open sqlqzc, conn, adOpenStatic, adLockOptimistic
If rs_qzc.EOF = False Then
rs_qzc.Delete
rs_qzc.Update
End If
'顯示簽訂合同成功
MsgBox "簽訂合同成功??!", vbOKOnly + vbInformation, "注意"
'設(shè)置簽訂按鈕不可用
cmdSign.Enabled = False
cmdYaJin.Enabled = True
cmdZuJin.Enabled = True
'關(guān)閉所有打開的記錄集
rs_qzc.Close
rs_yd.Close
rs_hcheck.Close
rs_contract.Close
Exit Sub
End If
'如果該房屋狀態(tài)為未租,則可以順利出租
ElseIf rs_hcheck.Fields(8) = "未租" Then
'出租,加入合同表
sqlcon = "select * from Contract"
rs_contract.Open sqlcon, conn, adOpenStatic, adLockOptimistic
rs_contract.AddNew
For i = 0 To 11
rs_contract.Fields(i) = Text1(i).Text
Next i
rs_contract.Update
'修改房屋狀態(tài)
rs_hcheck(8) = "已租"
rs_hcheck.Update
'檢查求租客戶表中是否有該客戶,如果有,則刪除之
sqlqzc = "select * from QZClient where 求租客戶姓名 = '" & Text1(1).Text & "'"
rs_qzc.Open sqlqzc, conn, adOpenStatic, adLockOptimistic
If rs_qzc.EOF = False Then
rs_qzc.Delete
rs_qzc.Update
End If
'顯示簽訂合同成功
MsgBox "簽訂合同成功!", vbOKOnly + vbInformation, "注意"
'設(shè)置簽訂按鈕不可用
cmdSign.Enabled = False
cmdYaJin.Enabled = True
cmdZuJin.Enabled = True
'關(guān)閉所有打開的記錄集
rs_qzc.Close
rs_hcheck.Close
rs_contract.Close
Exit Sub
End If
End Sub
Private Sub cmdYaJin_Click()
fromContract = True
frmPayYaJin.Show
cmdYaJin.Enabled = False
End Sub
Private Sub cmdZuJin_Click()
ZuJinfromContract = True
frmPayZuJin.Show
cmdZuJin.Enabled = False
End Sub
Private Sub Form_Load()
Dim X0 As Long
Dim Y0 As Long
'讓窗體居中
X0 = Screen.Width
Y0 = Screen.Height
X0 = (X0 - Me.Width) / 2
Y0 = (Y0 - Me.Height) / 2
Me.Move X0, Y0
cmdYaJin.Enabled = False
cmdZuJin.Enabled = False
'如果要顯示的是租房合同選項卡
If SSTab1.Tab = 0 Then
'清空所有text
For i = 0 To 11
Text1(i).Text = ""
Next i
'設(shè)置租期和總租金為不可寫,其值為計算而得
Text1(5).Enabled = False
Text1(7).Enabled = False
'設(shè)定簽訂日期和起租日期為當(dāng)前日期
Text1(10).Text = Date
Text1(3).Text = Date
'如果要顯示的是房屋信息選項卡
ElseIf SSTab1.Tab = 1 Then
'開始時,由于租房合同沒有顯示,因此相應(yīng)的房屋資料也都顯示為空
For i = 12 To 19
Text1(i).Text = ""
Next i
'還需要設(shè)置上面的按鈕除關(guān)閉按鈕之外不可用
cmdSign.Enabled = False
cmdAddClient.Enabled = False
cmdReset.Enabled = False
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If rs_contract.State = adStateOpen Then
rs_contract.Close
End If
Unload Me
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
If SSTab1.Tab = 1 Then
'首先需要設(shè)置上面的按鈕除關(guān)閉按鈕之外不可用
cmdSign.Enabled = False
cmdAddClient.Enabled = False
cmdReset.Enabled = False
'如果租房合同選項卡沒有房屋編號,則房屋資料顯示為空
If Text1(2).Text = "" Then
For i = 12 To 19
Text1(i).Text = ""
Next i
Exit Sub
End If
'如果房屋編號不為空
If rs_house.State = adStateOpen Then
rs_house.Close
End If
sqlhouse = "select * from house where 房屋編號 = '" & Text1(2).Text & "'"
rs_house.Open sqlhouse, conn, adOpenStatic, adLockOptimistic
'如果該房屋編號不存在,則提示用戶
If rs_house.EOF = True Then
MsgBox "該房屋編號不存在!", vbOKOnly + vbInformation, "注意"
For i = 12 To 19
Text1(i).Text = ""
Next i
Exit Sub
Else
For i = 12 To 19
Text1(i).Text = rs_house.Fields(i - 12)
Next i
If rs_house.Fields(8) = "未租" Then
Combo1.ListIndex = 0
ElseIf rs_house.Fields(8) = "已租" Then
Combo1.ListIndex = 1
Else
Combo1.ListIndex = 2
End If
End If
Else
'當(dāng)單擊租房合同選項卡時,只需要把所有按鈕設(shè)為可用即可
cmdSign.Enabled = True
cmdAddClient.Enabled = True
cmdReset.Enabled = True
End If
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -