📄 scgl_clk.frm
字号:
Case "0"
.Fields("LOCK_NO") = 0
Set MaxXH_rec = PUB_data.OpenRecordset("SELECT MAX(XH) AS MAXXH,COUNT(*) AS CK_RECC FROM DT_CKQD", 4, 0, 2)
If Not MaxXH_rec.Fields("CK_RECC") = 0 Then
MaxXH_rec.MoveLast
.Fields("XH") = MaxXH_rec.Fields("MAXXH") + 1
Else
.Fields("XH") = 1
End If
MaxXH_rec.Close
M_XH.Text = .Fields("XH")
End Select
End With
End Sub
Private Sub button_refresh(t_ft As Boolean)
cmd_ok(0).Enabled = Not t_ft
cmd_ok(1).Enabled = Not t_ft
cmd_func(4).Enabled = t_ft
cmd_func(5).Enabled = t_ft
cmd_func(0).Enabled = t_ft
If flex_rec.RecordCount <> 0 Then
cmd_func(1).Enabled = t_ft
cmd_func(2).Enabled = t_ft
cmd_func(3).Enabled = t_ft
Else
cmd_func(1).Enabled = False
cmd_func(2).Enabled = False
cmd_func(3).Enabled = False
End If
scgl_clk.KeyPreview = t_ft
End Sub
Private Sub flex_refresh()
Call Flex_full(gd1, t_bt, flex_rec, t_fields, t_fdcounts - 1, t_fdxs)
lb_jls.Caption = gd1.Rows - 1
Call button_refresh(True)
End Sub
Sub MAIN(t_gnmc As String)
Label1.Caption = t_gnmc
JZ_USER = SYS_USER + Space(1) + SYS_NAME
JZ_JRSJ2 = Time()
JZ_DQSJ2 = Time()
End Sub
Private Sub cm_gjmc_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_gjdm.SetFocus
Case vbKeyReturn
m_zjdm.SetFocus
End Select
End Sub
Private Sub cm_qzmc_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_qzdm.SetFocus
Case vbKeyReturn
m_kr_qz_yxq.SetFocus
End Select
End Sub
Private Sub cm_tsfw_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_kf_zkl.SetFocus
Case vbKeyDown, vbKeyReturn
m_bz.SetFocus
End Select
End Sub
Private Sub cm_zjmc_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_zjdm.SetFocus
Case vbKeyReturn
m_kr_zjhm.SetFocus
End Select
End Sub
Private Sub CMD_EXIT_Click()
flex_rec.Close
Unload Me
yx_main.Show (1)
End Sub
Private Sub cmd_ok_Click(Index As Integer)
Dim temp_ft As Boolean
Dim ckqd_rec As Recordset
Dim temp_lock As Integer
frm_msg.Visible = False
frm_msg.Caption = ""
Select Case Index
Case 0 '按"确定"键
'修改和增加时校验字段合法性
If t_funcNo = "0" Or t_funcNo = "1" Then
'客人生日
If PUB_RQJY(m_kr_sr, frm_msg) Then
Else
Exit Sub
End If
'客人有效期
If PUB_RQJY(m_kr_qz_yxq, frm_msg) Then
Else
Exit Sub
End If
'客人房租
If PUB_SZJY(m_kf_fz, frm_msg) Then
m_kf_fz.Text = Format(m_kf_fz.Text, "0.00")
Else
Exit Sub
End If
'客人折扣率
If PUB_SZJY(m_kf_zkl, frm_msg) Then
If m_kf_zkl.Text >= 0 And m_kf_zkl.Text <= 100 Then
m_kf_zkl.Text = Int(m_kf_zkl.Text)
Else
frm_msg.Visible = True
frm_msg.Caption = "不适当的客房折扣率"
m_kf_zkl.SetFocus
Exit Sub
End If
Else
Exit Sub
End If
'客人来店次数
If PUB_SZJY(m_ldcs, frm_msg) Then
m_ldcs.Text = Int(m_ldcs.Text)
Else
Exit Sub
End If
End If '合法性校验结束
Select Case t_funcNo
Case "0" '增加记录
Set ckqd_rec = PUB_data.OpenRecordset("SELECT * FROM DT_CKQD", 2, 0, 2)
If Not ckqd_rec.BOF Then
ckqd_rec.MoveLast
End If
t_czlsh = Pub_czls(PUB_data, "DT_CKGL", Time(), pub_code)
ckqd_rec.AddNew
tPkjFieldGet ckqd_rec, "0" '给各字段赋值
ckqd_rec.Update
Call Pub_czle(PUB_data, t_czlsh, "常来客 序号:" & Trim(M_XH.Text) & " 增加成功", Time(), pub_code)
ckqd_rec.Close
frm_msg.Visible = True
frm_msg.Caption = "常来客 " & Trim(m_kr_x.Text) & " " & Trim(m_kr_m.Text) & " 增加成功"
Call flex_refresh
Case "1", "2" '修改和删除记录
Set ckqd_rec = PUB_data.OpenRecordset("SELECT * FROM DT_CKQD WHERE XH = " & Trim(M_XH.Text), 2, 0, 2)
If Not ckqd_rec.BOF Then
ckqd_rec.MoveLast
temp_lock = Pub_lock("PUBLIC", "DT_CKQD", ckqd_rec)
Select Case temp_lock
Case 0
frm_msg.Visible = True
frm_msg.Caption = "该常客清单正被其他人占用, 请稍候再修改"
Call button_refresh(True)
Case 2
Call Pub_UNlock("DT_CKQD", ckqd_rec)
frm_msg.Visible = True
frm_msg.Caption = "该客人清单已被删除"
Call flex_refresh
Case 1
t_czlsh = Pub_czls(PUB_data, "DT_CKGL", Time(), pub_code)
Select Case t_funcNo
Case "1" '修改
ckqd_rec.Edit
tPkjFieldGet ckqd_rec, "1"
ckqd_rec.Update
Call Pub_czle(PUB_data, t_czlsh, "常来客 序号;" & Trim(M_XH.Text) & " 修改成功", Time(), pub_code)
frm_msg.Caption = "常来客 序号;" & Trim(M_XH.Text) & " " & Trim(m_kr_x.Text) & " " & Trim(m_kr_m.Text) & " 修改成功"
Case "2"
ckqd_rec.Delete
Call Pub_czle(PUB_data, t_czlsh, "常来客 序号;" & Trim(M_XH.Text) & " 删除成功", Time(), pub_code)
frm_msg.Caption = "常来客 序号;" & Trim(M_XH.Text) & " " & Trim(m_kr_x.Text) & " " & Trim(m_kr_m.Text) & " 删除成功"
End Select
Call Pub_UNlock("DT_CKQD", ckqd_rec)
frm_msg.Visible = True
Call flex_refresh
End Select
Else
Call button_refresh(True)
End If
ckqd_rec.Close
End Select
Case 1 '按"退出"键
Call button_refresh(True)
End Select
tPkjEnabledFT "", False
lb_xxxx.Caption = "详细信息"
gd1.Enabled = True
gd1.SetFocus
End Sub
Private Sub cmd_func_Click(Index As Integer)
Dim ckqd_rec As Recordset
frm_msg.Visible = False
frm_msg.Caption = ""
Select Case Index
Case 0 '增加
t_funcNo = "0"
lb_xxxx.Caption = "详细信息(增加)"
'编辑字段初始化
tPkjEnabledFT t_funcNo, True
tPkjTextSet flex_rec, 2
'界面BUTTON初始化
Call button_refresh(False)
gd1.Enabled = False
m_kr_x.SetFocus
Case 1, 2 '修改, 删除
If gd1.Rows - 1 <> 0 Then
Set ckqd_rec = PUB_data.OpenRecordset("SELECT * FROM DT_CKQD WHERE XH=" & IIf(gd1.TextArray(gd1.Row * t_fdcounts) = "" Or (Not IsNumeric(gd1.TextArray(gd1.Row * t_fdcounts))), 0, gd1.TextArray(gd1.Row * t_fdcounts)), 4, 0, 2)
If Not ckqd_rec.BOF Then
ckqd_rec.MoveLast
Select Case Index
Case 1 '修改
t_funcNo = "1"
lb_xxxx.Caption = "详细信息(修改)"
tPkjEnabledFT t_funcNo, True
Case 2 '删除
t_funcNo = "2"
lb_xxxx.Caption = "详细信息(删除)"
tPkjEnabledFT t_funcNo, False
End Select
tPkjTextSet ckqd_rec, 1
'界面BUTTON初始化
Call button_refresh(False)
gd1.Enabled = False
M_XH.SetFocus
Else
frm_msg.Visible = True
frm_msg.Caption = "没有满足条件的记录"
End If
ckqd_rec.Close
Else
frm_msg.Visible = True
frm_msg.Caption = "没有满足条件的记录"
End If '
Case 3 '打印
Set rec = PUB_data.OpenRecordset("select XH,KR_X,KR_M,YW_X,YW_M,KR_XBMC,GJMC,ZJMC,KF_ZKL,KF_FZ,LDCS FROM DT_CKQD ORDER BY XH", 4, 0, 2)
If Not rec.BOF Then
rec.MoveLast
End If
Call print_tabler(rec, "常来客清单", Array("序号 ", "客人姓", "客人名", "英文姓", "英文名", "性别", "国籍", "证件名称", "折扣率", "客房房租", "来店次数"), Array(6, 15, 15, 15, 15, 6, 10, 10, 7, 9, 10), 0, Array(11, 11, 11, 11, 11, 11, 11, 11, 21, 21, 21))
Case 4 '筛选
fm_cx.Enabled = True
lb_sx_zwxm.Enabled = True
lb_sx_wwxm.Enabled = True
lb_sx_kr_sr.Enabled = True
lb_sx_gj.Enabled = True
tx_kr_x.Enabled = True
tx_kr_m.Enabled = True
tx_yw_x.Enabled = True
tx_yw_m.Enabled = True
tx_kr_sr.Enabled = True
tx_gjdm.Enabled = True
tx_gjmc.Enabled = True
tx_kr_x.SetFocus
Case 5 '刷新
Call flex_refresh
gd1.SetFocus
End Select
End Sub
Private Sub Form_Activate()
gd1.SetFocus
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
key_index = 100
frm_msg.Caption = ""
frm_msg.Visible = False
Select Case KeyCode
Case vbKeyF2
key_index = 0 '增加
Case vbKeyF3
key_index = 1 '修改
Case vbKeyF4
key_index = 2 '删除
Case vbKeyF5
key_index = 3 '打印
Case vbKeyF6
key_index = 4 '筛选
Case vbKeyF9
key_index = 5 '筛选
Case vbKeyEscape
key_index = 101 '退出
End Select
If key_index <> 100 Then
If key_index = 101 Then
Call CMD_EXIT_Click
Else
If cmd_func(key_index).Enabled Then
Call cmd_func_Click(key_index)
End If
End If
End If
End Sub
Private Sub m_bz_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
cm_tsfw.SetFocus
Case vbKeyDown, vbKeyReturn
cmd_ok(0).SetFocus
End Select
End Sub
Private Sub m_dfy_dm_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_kr_sr.SetFocus
Case vbKeyDown, vbKeyReturn
m_gjdm.SetFocus
End Select
End Sub
Private Sub m_dz_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_ldcs.SetFocus
Case vbKeyDown, vbKeyReturn
m_kf_fz.SetFocus
End Select
End Sub
Private Sub m_gjdm_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
m_dfy_dm.SetFocus
Case vbKeyDown, vbKeyReturn
cm_gjmc.SetFocus
End Select
End Sub
Private Sub m_kf_fz_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
Select Case KeyCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -