?? frmbackdingjin.frm
字號:
Left = 6720
TabIndex = 19
Top = 1080
Width = 375
End
Begin VB.Label Label1
Caption = "定金有效期"
Height = 255
Index = 11
Left = 3840
TabIndex = 18
Top = 1080
Width = 975
End
Begin VB.Label Label1
Caption = "定 金"
Height = 255
Index = 12
Left = 360
TabIndex = 17
Top = 1080
Width = 735
End
Begin VB.Label Label1
Caption = "預定房屋編號"
Height = 255
Index = 13
Left = 5520
TabIndex = 16
Top = 480
Width = 1215
End
Begin VB.Label Label1
Caption = "預定客戶"
Height = 255
Index = 14
Left = 3000
TabIndex = 15
Top = 480
Width = 735
End
Begin VB.Label Label1
Caption = "預定單編號"
Height = 255
Index = 15
Left = 360
TabIndex = 14
Top = 480
Width = 975
End
End
End
End
Attribute VB_Name = "frmBackDingJin"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定義幾個共用變量
Dim rs_dj As New ADODB.Recordset
Dim rs_yd As New ADODB.Recordset
Dim rs_count As New ADODB.Recordset
Dim sqlcount As String
Dim sqldj As String
Dim sqlyd As String
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub cmdend_Click()
'當單擊定金退還按鈕時,需要彈出一個提示框,警告用戶
Dim answer As String
answer = MsgBox("確定要退還定金嗎?", vbYesNo, "")
'確實退還,則需要從定金表中刪除該記錄
If answer = vbYes Then
rs_dj.Delete '刪除當前記錄
rs_dj.Update '更新刪除
MsgBox "定金退還成功!", vbOKOnly + vbExclamation, ""
Else
Exit Sub
End If
'刪除之后,顯示總信息條數(shù)需要減 1
Text2.Text = Val(Text2.Text) - 1
'刪除當前記錄后,需要顯示下一條記錄,如果刪除的是最后一條記錄,則顯示上一條記錄
'先移動rs_dj記錄到后一條
rs_dj.MoveNext
If rs_dj.EOF Then
rs_dj.MovePrevious
'如果沒有到記錄首則顯示該記錄
If Not rs_dj.BOF Then
For i = 0 To 6
Text1(i).Text = rs_dj.Fields(i)
Next i
'如果到記錄首,則表格已經(jīng)為空,置所有text框顯示為空
ElseIf rs_dj.BOF Then
For i = 0 To 6
Text1(i).Text = ""
Next i
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdEnd.Enabled = False
End If
'如果刪除的不是首尾記錄,則顯示當前記錄即可
Else
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
End Sub
Private Sub cmdFirst_Click()
'先移動rs_dj記錄到第一條
rs_dj.MoveFirst
'同時需要設置相應按鈕為不可用和不可用
cmdPrev.Enabled = False
cmdFirst.Enabled = False
cmdNext.Enabled = True
cmdLast.Enabled = True
'如果已經(jīng)是第一條記錄,則提示用戶
If rs_dj.BOF = True Then
MsgBox "對不起,已經(jīng)是第一條記錄了!", vbOKOnly + vbInformation, "注意"
Exit Sub
'如果不是,則個數(shù)據(jù)表的記錄位置移到第一條記錄,并且顯示之
Else
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
End Sub
Private Sub cmdLast_Click()
'移動rs_dj記錄到最后一條
rs_dj.MoveLast
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False
'如果已經(jīng)是最后一條記錄,則提示用戶
If rs_dj.EOF = True Then
MsgBox "對不起,已經(jīng)是最后一條記錄了!", vbOKOnly + vbInformation, "注意"
Exit Sub
'如果不是最后一條,則數(shù)據(jù)表的記錄位置移到后一條記錄,并且顯示之
Else
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
End Sub
Private Sub cmdNext_Click()
'先移動rs_dj記錄到后一條
rs_dj.MoveNext
'設置前一條和第一條按鈕可用
cmdPrev.Enabled = True
cmdFirst.Enabled = True
'如果已經(jīng)是最后一條記錄,則提示用戶
If rs_dj.EOF = True Then
MsgBox "對不起,已經(jīng)是最后一條記錄了!", vbOKOnly + vbInformation, "注意"
'并且設置“后一條”和最后一條按鈕不可用
cmdNext.Enabled = False
cmdLast.Enabled = False
Exit Sub
'如果不是,則個數(shù)據(jù)表的記錄位置移到后一條記錄,并且顯示之
Else
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
End Sub
Private Sub cmdPrev_Click()
'先移動rs_dj記錄到前一條
rs_dj.MovePrevious
'設置后一條和最后一條按鈕可用
cmdNext.Enabled = True
cmdLast.Enabled = True
'如果已經(jīng)是第一條記錄,則提示用戶
If rs_dj.BOF = True Then
MsgBox "對不起,已經(jīng)是第一條記錄了!", vbOKOnly + vbInformation, "注意"
'并且設置“前一條”和第一條按鈕不可用
cmdPrev.Enabled = False
cmdFirst.Enabled = False
Exit Sub
'如果不是,則數(shù)據(jù)表的記錄位置移到前一條記錄,并且顯示之
Else
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
End Sub
Private Sub Form_Activate()
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
'設置所有text不可寫
For i = 0 To 15
Text1(i).Enabled = False
Next i
'分別處理2個選項卡
Select Case SSTab1.Tab
'家庭租戶選項卡
Case 0
'因為開始顯示時必定打開了rs_dj,rs_count,所以應該先關閉它們
sqldj = "select * from DingJin " & sqlqdj
rs_dj.CursorLocation = adUseClient
rs_dj.Open sqldj, conn, adOpenStatic, adLockOptimistic
If rs_dj.EOF Then
Text2.Text = 0
'如果沒有找到記錄,則提示用戶,置空所有text控件,并且退出本子過程
MsgBox "沒有找到符合條件的記錄", vbOKOnly + vbInformation, "注意"
For i = 0 To 6
Text1(i).Text = ""
Next i
'如果是0條記錄,需要設置前翻后翻的按鈕為不可用
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdEnd.Enabled = False
Exit Sub
'找到符合條件的記錄
Else
'如果有記錄,需要設置前翻后翻的按鈕為可用
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdEnd.Enabled = True
'計算找到的條數(shù)
sqlcount = "select count(*) from DingJin " & sqlqdj
rs_count.Open sqlcount, conn, adOpenStatic, adLockOptimistic
Text2.Text = rs_count.Fields(0)
'找到符合條件的記錄,顯示之
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
Case 1
'如果開始時為預定單資料選項卡,則都顯示為空
'設置frame1(1)不可見
Frame1(1).Visible = False
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdEnd.Enabled = False
For i = 7 To 15
Text1(i).Text = ""
Next i
End Select
End Sub
Private Sub Form_Unload(Cancel As Integer)
If rs_dj.State = adStateOpen Then
rs_dj.Close
End If
If rs_yd.State = adStateOpen Then
rs_yd.Close
End If
If rs_count.State = adStateOpen Then
rs_count.Close
End If
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
Select Case SSTab1.Tab
'家庭租戶選項卡
Case 0
'設置frame1(1)不可見
Frame1(1).Visible = True
'因為開始顯示時必定打開了rs_dj,rs_count,所以應該先關閉它們
If rs_dj.State = adStateOpen Then
rs_dj.Close
End If
sqldj = "select * from DingJin " & sqlqdj
rs_dj.CursorLocation = adUseClient
rs_dj.Open sqldj, conn, adOpenStatic, adLockOptimistic
If rs_dj.EOF Then
Text2.Text = 0
'如果沒有找到記錄,則提示用戶,置空所有text控件,并且退出本子過程
MsgBox "沒有找到符合條件的記錄", vbOKOnly + vbInformation, "注意"
For i = 0 To 6
Text1(i).Text = ""
Next i
'如果是0條記錄,需要設置前翻后翻的按鈕為不可用
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdEnd.Enabled = False
Exit Sub
'找到符合條件的記錄
Else
'如果有記錄,需要設置前翻后翻的按鈕為可用
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdEnd.Enabled = True
If rs_count.State = adStateOpen Then
rs_count.Close
End If
'計算找到的條數(shù)
sqlcount = "select count(*) from DingJin " & sqlqdj
rs_count.Open sqlcount, conn, adOpenStatic, adLockOptimistic
Text2.Text = rs_count.Fields(0)
'找到符合條件的記錄,顯示之
For i = 0 To 6
If IsNull(rs_dj.Fields(i)) Then
Text1(i).Text = ""
Else
Text1(i).Text = rs_dj.Fields(i)
End If
Next i
End If
Case 1
'設置frame1(1)不可見
Frame1(1).Visible = False
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdEnd.Enabled = False
'如果預定單編號為空,則預定單資料選項卡顯示為空
If Text1(3).Text = "" Then
For i = 7 To 15
Text1(i).Text = ""
Next i
Else
If rs_yd.State = adStateOpen Then
rs_yd.Close
End If
sqlyd = "select * from YuDing where 預定單編號 = '" & Text1(3).Text & "'"
rs_yd.Open sqlyd, conn, adOpenStatic, adLockOptimistic
If rs_yd.EOF = True Then
MsgBox "該預定單編號在預定單表中不存在!", vbOKOnly + vbInformation, "注意"
Exit Sub
Else
For i = 7 To 15
Text1(i).Text = rs_yd.Fields(i - 7)
Next i
rs_yd.Close
End If
End If
End Select
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -