📄 main_tfdj.frm
字号:
Name = "宋体"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000FFFF&
Height = 390
Left = 3300
TabIndex = 17
Top = 90
Width = 2280
End
Begin VB.Label Lab7
BackStyle = 0 'Transparent
Caption = "操作员:"
Height = 240
Left = 60
TabIndex = 7
Top = 3660
Width = 735
End
Begin VB.Label Lab1
BackStyle = 0 'Transparent
Caption = "NO."
Height = 225
Left = 6225
TabIndex = 5
Top = 585
Width = 675
End
End
Attribute VB_Name = "main_tfdj"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim DBcnn As New ADODB.Connection
Dim DBrs1 As New ADODB.Recordset
Dim DBrs2 As New ADODB.Recordset
Dim DBrs3 As New ADODB.Recordset
Dim DBrs4 As New ADODB.Recordset
Dim sqlstr As String
Private Sub Form_Load()
If DBcnn.State = 0 Then
Dim connectstr As String
connectstr = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & _
App.Path & "\KFGL.mdb;Persist Security Info=False"
DBcnn.CursorLocation = adUseClient
DBcnn.Open connectstr
End If
If DBrs4.State = 1 Then
DBrs4.Close
End If
'设置并执行SQL语句并返回相应的数据集DBrs4,
'使其包含djb表中标志字段值为1的所有记录
sqlstr = "select * from djb where 标志='1'"
DBrs4.Open sqlstr, DBcnn, adOpenStatic, adLockBatchOptimistic
'使用数据对象DBrs4来设置“源房间号”对应的组合框的填充字段来源和绑定字段
Set Dcomyfjh.RowSource = DBrs4
Dcomyfjh.ListField = DBrs4.Fields("房间号").Name
Dcomyfjh.BoundColumn = DBrs4.Fields("房间号").Name
If DBrs2.State = 1 Then
DBrs2.Close
End If
'设置并执行SQL语句并返回相应的数据集DBrs2,
'使其包含kf表中的所有记录
sqlstr = "select * from kf"
DBrs2.Open sqlstr, DBcnn, adOpenStatic, adLockBatchOptimistic
'使用数据对象DBrs4来设置“源房间号”对应的
'组合框的填充字段来源和绑定字段
Set Dcommbfjh.RowSource = DBrs2
Dcommbfjh.ListField = DBrs2.Fields("房间号").Name
Dcommbfjh.BoundColumn = DBrs2.Fields("房间号").Name
If DBrs1.State = 1 Then
DBrs1.Close
End If
sqlstr = "select * from djb"
DBrs1.Open sqlstr, DBcnn, adOpenDynamic, adLockBatchOptimistic
If DBrs3.State = 1 Then
DBrs3.Close
End If
sqlstr = "select * from djys"
DBrs3.Open sqlstr, DBcnn, adOpenDynamic, adLockBatchOptimistic
End Sub
Private Sub Form_Activate()
czy.Text = main.StatusBar1.Panels(4).Text '赋值给czy.text
'查询住宿登记信息
DBrs4.Filter = " 标志='1'"
End Sub
Private Sub Form_Unload(Cancel As Integer)
main.Enabled = True '设置主窗体有效
End Sub
Private Sub Dcommbfjh_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Texbz.SetFocus 'texbz获得焦点
End Sub
Private Sub Dcomyfjh_Change()
'判断输入或选择的房间号是否为空
If Dcomyfjh.Text <> "" Then
'输入或选择的房间号不为空,设置数据集对象DBrs1的Filter属性,
'以在住宿登记表(djb)找到房间号等于用户输入或选择的源房间号
'并且标志等于1的记录
sqlstr = "房间号='" & Dcomyfjh.Text & "'and 标志='1'"
DBrs1.Filter = sqlstr
'判断是否存在符合条件的房间号
If DBrs1.EOF Then
'不存在符合条件的房间号,给出错误提示
MsgBox ("请核准住宿房间和住宿人!")
Else
'存在符合上述条件的房间号,接着判断该房间的客房类型是否为空
If DBrs1.Fields("客房类型") <> "" Then
'该房间的客房类型不为空,在该窗体中与“凭证号码”、
'“姓名”和“证件号码”对应的控件中显示该房间相应的信息
With DBrs1
If .Fields("凭证号码") <> "" Then bh.Text = .Fields("凭证号码")
If .Fields("姓名") <> "" Then Texxmb.Text = .Fields("姓名")
If .Fields("证件名称") <> "" Then Combo1.Text = .Fields("证件名称")
If .Fields("证件号码") <> "" Then Texsfz.Text = .Fields("证件号码")
If .Fields("客房价格") <> "" Then Texjg.Text = .Fields("客房价格")
'根据源房间号来查询与该房间类型相同并且是空房的目标房间号
sqlstr = "房间类型='" & .Fields("客房类型") & "' and 房态='空房'"
DBrs2.Filter = sqlstr
End With
End If
End If
'设置与“目标房间号”对应的组合框的使能状态
Dcommbfjh.Enabled = True
Texbz.Enabled = True
End If
End Sub
Private Sub Dcomyfjh_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Dcommbfjh.SetFocus '按回车键Dcommbfjh获得焦点
End Sub
Private Sub texbz_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Comok.SetFocus '按回车键comok获得焦点
End Sub
Private Sub comdj_Click() '登记
Frame2.Enabled = True: Frame3.Enabled = True: Dcomyfjh.Enabled = True
Dcommbfjh.Enabled = True: Texjg.Enabled = True: Comok.Enabled = True
Comcancel.Enabled = True: Comok.Enabled = True: Comdj.Enabled = False
Dcomyfjh.SetFocus 'Dcomyfjh获得焦点
End Sub
Private Sub comok_Click()
'定义一个字符串类型的变量
Dim bh As String
'设置并执行SQL语句并返回相应的数据集,使该数据集包含房间号等于
'用户输入或选择的源房间号并且房态为空房的记录
'查询空闲房间信息
sqlstr = "房间号='" & Dcommbfjh.Text & "'and 房态='空房'"
DBrs2.Filter = sqlstr
'判断酒店客房(kf)表是否存在符合上述条件的记录
If DBrs2.RecordCount > 0 Then
'酒店客房(kf)表存在符合上述条件的记录,接着设置数据集对象DBrs1的Filter属性,
'以在住宿登记表(djb)找到房间号等于用户输入或选择的源房间号
'并且标志等于1的记录
sqlstr = "房间号 ='" & Dcomyfjh.Text & "'and 标志='1'"
DBrs1.Filter = sqlstr
bh = DBrs1.Fields("凭证号码")
'在住宿登记(djb)表中修改该房间号的住宿登记信息
If Dcommbfjh.Text <> "" Then DBrs1.Fields("房间号") = Val(Dcommbfjh.Text)
If Texbz.Text <> "" Then DBrs1.Fields("备注") = Texbz.Text
DBrs1.Fields("标志") = "1"
DBrs1.Fields("摘要") = "由源房" & Dcomyfjh.Text & "调到目标房" & Dcommbfjh.Text
'保存此次修改操作
DBrs1.UpdateBatch
'设置数据集对象DBrs3的Filter属性,以在住宿登记表(djb)找到房间号等于用户
'输入或选择的源房间号并且标志等于1的记录
sqlstr = "凭证号码='" & DBrs1.Fields("凭证号码") & "'"
DBrs3.Filter = sqlstr
If DBrs3.EOF = False Then DBrs3.MoveLast
If DBrs3.BOF = False Then DBrs3.MoveFirst
'判断住宿预收(djys)表是否存在符合上述条件的记录
If DBrs3.RecordCount > 0 Then
'在住宿预收(djys)表存在符合上述条件的记录,修改所有符合条件的住宿登记预收信息
DBrs3.MoveFirst
For i = 1 To DBrs3.RecordCount
If Dcommbfjh.Text <> "" Then DBrs3.Fields("房间号") = Val(Dcommbfjh.Text)
If Texbz.Text <> "" Then DBrs3.Fields("备注") = Texbz.Text
DBrs3.Fields("标志") = "1"
DBrs3.Fields("摘要") = "由源房" & Dcomyfjh.Text & "调到目标房" & Dcommbfjh.Text
'保存所作的修改
DBrs3.UpdateBatch
If DBrs3.EOF = False Then DBrs3.MoveNext
Next i
End If
'修改目标房间号的客房状态为“入住”
DBrs2.Fields("房态") = "入住"
DBrs2.UpdateBatch
sqlstr = "房间号 ='" & Dcomyfjh.Text & "'"
DBrs2.Filter = sqlstr
'修改源房间号的客房状态为“空房”
DBrs2.Fields("房态") = "空房"
DBrs2.UpdateBatch
'查询空闲房间信息
sqlstr = "房态 like '空房'"
DBrs3.Filter = sqlstr
'设置窗体中的控件的使能状态
Texxmb.Enabled = False
Texsfz.Enabled = False
Dcommbfjh.Enabled = False
Dcomyfjh.Enabled = False
Texbz.Enabled = False
Comok.Enabled = False
Comcancel.Enabled = False
Comdj.Enabled = True
'清空窗体中的所有控件的显示值
Dcommbfjh.Text = ""
Dcomyfjh.Text = ""
Texxmb.Text = ""
Texsfz.Text = ""
Texbz.Text = ""
Texjg.Text = ""
Comdj.SetFocus
Else
'不存在符合上述条件的记录,给出错误的提示
MsgBox ("所选房间已有人入住,请选择空房,再保存!!!")
End If
End Sub
Private Sub comcancel_Click() '取消操作
Dcomyfjh.Enabled = True: Dcommbfjh.Enabled = True: Comdj.Enabled = True
Comok.Enabled = False: Texbz.Enabled = True
Dcommbfjh.Text = "": Dcomyfjh.Text = "": Texxmb.Text = ""
Texsfz.Text = "": Texbz.Text = "": Texjg.Text = ""
End Sub
Private Sub comend_Click()
Unload Me
main.Enabled = True '设置主窗体有效
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -