📄 frmcustinfo.frm
字号:
Left = 360
TabIndex = 10
Top = 360
Width = 405
End
End
Begin VB.Frame Frame2
Height = 615
Left = 840
TabIndex = 3
Top = 1320
Width = 6615
Begin VB.CommandButton cmdSearch
Caption = "查找"
Height = 300
Left = 5280
TabIndex = 7
Top = 200
Width = 1095
End
Begin VB.ComboBox cboCustName
Height = 315
Left = 3120
TabIndex = 5
Top = 200
Width = 2055
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "请选择或输入要查找的顾客姓名:"
Height = 195
Left = 360
TabIndex = 4
Top = 240
Width = 2565
End
End
Begin VB.Frame Frame1
Caption = "请选择顾客类型"
Height = 855
Left = 840
TabIndex = 0
Top = 480
Width = 6615
Begin VB.OptionButton optUnReservedCust
Caption = "已经入住房间的顾客"
Height = 255
Left = 4080
TabIndex = 2
Top = 360
Width = 1935
End
Begin VB.OptionButton optReservedCust
Caption = "已经预定房间的顾客"
Height = 255
Left = 720
TabIndex = 1
Top = 360
Value = -1 'True
Width = 1935
End
End
End
Attribute VB_Name = "frmCustInfo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private cnnHotel As New ADODB.Connection
Private rsCustReserveInfo As New ADODB.Recordset
Private rsCustPayOff As New ADODB.Recordset
Private Sub cboCustName_Click()
If optReservedCust.Value Then
rsCustReserveInfo.Open "SELECT * FROM CustReserveInfo WHERE 顾客姓名='" & cboCustName.Text & "'", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
rsCustReserveInfo.MoveFirst
Set labRCustName.DataSource = rsCustReserveInfo
labRCustName.DataField = "顾客姓名"
Set labRCustAddress.DataSource = rsCustReserveInfo
labRCustAddress.DataField = "顾客地址"
Set labRCustPhoneNo.DataSource = rsCustReserveInfo
labRCustPhoneNo.DataField = "顾客电话号码"
Set labRCustCreditCardNo.DataSource = rsCustReserveInfo
labRCustCreditCardNo.DataField = "顾客信用卡号"
Set labRRoomNo.DataSource = rsCustReserveInfo
labRRoomNo.DataField = "顾客预定房间号"
Set labRReservedDate.DataSource = rsCustReserveInfo
labRReservedDate.DataField = "顾客预定房间日期"
Set labPrice.DataSource = rsCustReserveInfo
labPrice.DataField = "顾客预定房间所付定金"
rsCustReserveInfo.Close
ElseIf optUnReservedCust.Value Then
rsCustPayOff.Open "SELECT * FROM CustPayOff WHERE 顾客姓名='" & cboCustName.Text & "'AND 顾客状态='已经入住'", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
rsCustPayOff.MoveFirst
Set labCustName.DataSource = rsCustPayOff
labCustName.DataField = "顾客姓名"
Set labBegingToUseDate.DataSource = rsCustPayOff
labBegingToUseDate.DataField = "顾客入住房间日期"
Set labRoomNo.DataSource = rsCustPayOff
labRoomNo.DataField = "顾客预定房间号"
rsCustPayOff.Close
End If
End Sub
Private Sub cmdAllReservedCust_Click()
frmAllReservedCust.Show 1
End Sub
Private Sub cmdOk_Click()
Unload frmCustInfo
End Sub
Private Sub cmdSearch_Click()
Dim n As Integer 'n 用来保存查询到的顾客的个数
If cboCustName.Text = "" Then
MsgBox "顾客姓名不能为空!", vbInformation, "提示"
cboCustName.SetFocus
Exit Sub
ElseIf optReservedCust.Value Then
rsCustReserveInfo.Open "SELECT * FROM CustReserveInfo WHERE 顾客姓名='" & Trim(cboCustName.Text) & "'", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
Do While Not rsCustReserveInfo.EOF And Not rsCustReserveInfo.BOF
rsCustReserveInfo.MoveNext
n = n + 1
Loop
If n = 0 Then
MsgBox "没有顾客名字为 " & Trim(cboCustName.Text) & " 的顾客信息!", vbInformation, "查询结果"
Else
MsgBox "有 " & n & " 个 " & Trim(cboCustName.Text) & " 顾客的信息", vbInformation, "查询结果"
rsCustReserveInfo.MoveFirst '移到第一个记录
Set labRCustName.DataSource = rsCustReserveInfo
labRCustName.DataField = "顾客姓名"
Set labRCustAddress.DataSource = rsCustReserveInfo
labRCustAddress.DataField = "顾客地址"
Set labRCustPhoneNo.DataSource = rsCustReserveInfo
labRCustPhoneNo.DataField = "顾客电话号码"
Set labRCustCreditCardNo.DataSource = rsCustReserveInfo
labRCustCreditCardNo.DataField = "顾客信用卡号"
Set labRRoomNo.DataSource = rsCustReserveInfo
labRRoomNo.DataField = "顾客预定房间号"
Set labRReservedDate.DataSource = rsCustReserveInfo
labRReservedDate.DataField = "顾客预定房间日期"
Set labPrice.DataSource = rsCustReserveInfo
labPrice.DataField = "顾客预定房间所付定金"
End If
rsCustReserveInfo.Close
ElseIf optUnReservedCust.Value Then
rsCustPayOff.Open "SELECT * FROM CustPayOff WHERE 顾客姓名='" & Trim(cboCustName.Text) & "'AND 顾客状态='已经入住'", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
Do While Not rsCustPayOff.EOF And Not rsCustPayOff.BOF
rsCustPayOff.MoveNext
n = n + 1
Loop
If n = 0 Then
MsgBox "没有顾客名字为 " & Trim(cboCustName.Text) & " 的顾客信息!", vbInformation, "查询结果"
Else
MsgBox "有 " & n & " 个 " & Trim(cboCustName.Text) & " 顾客的信息", vbInformation, "查询结果"
rsCustPayOff.MoveFirst '移到第一个记录
Set labCustName.DataSource = rsCustPayOff
labCustName.DataField = "顾客姓名"
Set labBegingToUseDate.DataSource = rsCustPayOff
labBegingToUseDate.DataField = "顾客入住房间日期"
Set labRoomNo.DataSource = rsCustPayOff
labRoomNo.DataField = "顾客预定房间号"
End If
rsCustPayOff.Close
End If
End Sub
Private Sub Form_Load()
cnnHotel.Provider = "Microsoft.Jet.OLEDB.3.51"
cnnHotel.Open "User ID=admin;Data Source=" & GetDBPath() '建立与数据库的连接
rsCustReserveInfo.Open "SELECT * FROM CustReserveInfo", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
Do While Not rsCustReserveInfo.BOF And Not rsCustReserveInfo.EOF '当rsCustreserveInfo.BOF,rsCustreserveInfo.EOF都为False 时
cboCustName.AddItem rsCustReserveInfo.Fields("顾客姓名") '在cboCustName 的下拉列表选项中加如当前的空闲房间号
rsCustReserveInfo.MoveNext '移到下一条记录
Loop
rsCustReserveInfo.Close '关闭记录集
End Sub
Private Sub Form_Unload(Cancel As Integer)
cnnHotel.Close
End Sub
Private Sub optReservedCust_Click()
cboCustName.Clear '清空顾客姓名
rsCustReserveInfo.Open "SELECT * FROM CustReserveInfo", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
Do While Not rsCustReserveInfo.BOF And Not rsCustReserveInfo.EOF '当rsCustreserveInfo.BOF,rsCustreserveInfo.EOF都为False 时
cboCustName.AddItem rsCustReserveInfo.Fields("顾客姓名") '在cboCustName 的下拉列表选项中加如当前的空闲房间号
rsCustReserveInfo.MoveNext '移到下一条记录
Loop
rsCustReserveInfo.Close '关闭记录集
Frame3.Visible = True
Frame5.Visible = False
Frame3.Top = Frame2.Top + Frame2.Height + 100
cboCustName.Text = labRCustName.Caption
End Sub
Private Sub optUnReservedCust_Click()
cboCustName.Clear '清空顾客姓名
rsCustPayOff.Open "SELECT * FROM CustPayOff WHERE 顾客状态='已经入住'", cnnHotel, adOpenKeyset, adLockOptimistic '打开记录集
Do While Not rsCustPayOff.BOF And Not rsCustPayOff.EOF '当rsCustPayOff.BOF,rsCustPayOff.EOF都为False 时
cboCustName.AddItem rsCustPayOff.Fields("顾客姓名") '在cboCustName 的下拉列表选项中加如当前的空闲房间号
rsCustPayOff.MoveNext '移到下一条记录
Loop
rsCustPayOff.Close '关闭记录集
Frame5.Visible = True
Frame3.Visible = False
Frame5.Top = Frame2.Top + Frame2.Height + 100
cboCustName.Text = labCustName.Caption
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -