?? frmnewbook.frm
字號(hào):
End Sub
Private Sub cmdDate_Click()
dtpExpireDate.Value = Date
End Sub
Private Sub cmdOK_Click()
On Error GoTo BookERRR
'1/檢查是否完整
If Trim(ftCName.Text) = "" Then
MsgBox "聯(lián)系人姓名不能為空? " & vbCrLf _
& "請(qǐng)輸入或選擇會(huì)員編號(hào)后,自動(dòng)顯示。 ", vbExclamation
ftCName.SetFocus
Exit Sub
End If
If Trim(ftTel.Text) = "" Then
MsgBox "聯(lián)系電話不能為空? " & vbCrLf _
& "請(qǐng)輸入或選擇會(huì)員編號(hào)后,自動(dòng)顯示。 ", vbExclamation
ftTel.SetFocus
Exit Sub
End If
If CInt(ftNum.Text) < 1 Then
MsgBox "就餐人數(shù)最少為 1 人? " & vbCrLf _
& "請(qǐng)重新輸入 ... ", vbExclamation
ftNum.SetFocus
Exit Sub
End If
Dim xTmp As Integer
Dim IsFalse As Boolean
'If lstSite.ListCount > 0 Then
' For xTmp = 0 To lstSite.ListCount - 1
' If CheckSiteIde(lstSite.List(xTmp)) = False Then
' MsgBox "座位號(hào)〖" & lstSite.List(xTmp) & "〗正在維修或已經(jīng)上臺(tái) ..." & vbCrLf _
' & "請(qǐng)重新選擇座位后,再預(yù)訂。 ", vbExclamation
' IsFalse = True
' Exit For
' End If
' Next
' Else
' MsgBox "沒有餐桌號(hào),不能預(yù)訂? " & vbCrLf _
' & "請(qǐng)輸入餐桌號(hào)或點(diǎn)擊右邊按鈕選擇多桌。 ", vbExclamation
' ftClass.SetFocus
' Exit Sub
'End If
'座號(hào)位已經(jīng)使用,不能預(yù)訂
If IsFalse = True Then
Exit Sub
End If
If MsgBox("真的要預(yù)訂【" & lstSite.ListCount & "桌】嗎? (Y/N) ", vbInformation + vbYesNo) = vbNo Then Exit Sub
ftNO.Text = GetNo("預(yù)訂")
'3/保存預(yù)訂內(nèi)容|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dim bDB As Connection
Dim bRs As Recordset
Dim sTMp As String '更新座位
Set bDB = CreateObject("ADODB.Connection")
Set bRs = CreateObject("ADODB.Recordset")
bDB.Open Constr
bDB.BeginTrans
'查詢?cè)搯翁?hào)是否有其它人員使用。
bRs.Open "Select * from tbdBook Where ID='" & Trim(ftNO.Text) & "'", bDB, adOpenStatic, adLockOptimistic, adCmdText
If bRs.EOF And bRs.BOF Then
'預(yù)訂多桌時(shí)
bRs.Close
For xTmp = 0 To lstSite.ListCount - 1
'查找某一餐桌某一段時(shí)間是否已經(jīng)預(yù)訂,或者正在上臺(tái)
If IsSqlDat = True Then
bRs.Open "Select * from tbdBook Where Class='" & lstSite.List(xTmp) & "' And ExpireDate='" & dtpExpireDate.Value & "' And DatePart=" & cmbDatePart.ListIndex + 1, bDB, adOpenStatic, adLockOptimistic, adCmdText
Else
bRs.Open "Select * from tbdBook Where Class='" & lstSite.List(xTmp) & "' And ExpireDate=#" & dtpExpireDate.Value & "# And DatePart=" & cmbDatePart.ListIndex + 1, bDB, adOpenStatic, adLockOptimistic, adCmdText
End If
'無人預(yù)訂時(shí),我們現(xiàn)在開始預(yù)訂該桌。
If bRs.EOF And bRs.BOF Then
bRs.AddNew
bRs("ID") = GetNo("預(yù)訂") '隨機(jī)給出單號(hào)
bRs("Class") = lstSite.List(xTmp)
If Trim(ftCID.Text) <> "" Then
bRs("CID") = Trim(ftCID.Text)
End If
bRs("CName") = Trim(ftCName.Text)
bRs("Tel") = Trim(ftTel.Text)
bRs("Num") = ftNum.Text
bRs("ExpireDate") = dtpExpireDate.Value '使用時(shí)的日期
bRs("ExpireTime") = Time '預(yù)訂的時(shí)間
bRs("BookDate") = Date '預(yù)訂日期
If Trim(ftMenuID.Text) <> "" Then
bRs("MenuID") = Trim(ftMenuID.Text)
End If
bRs("DatePart") = cmbDatePart.ListIndex + 1 '預(yù)訂的時(shí)間段
bRs.Update
'4/更新單號(hào)
UpdateNo "預(yù)訂"
'=============================================================
Else
MsgBox dtpExpireDate.Value & " 座位【" & lstSite.List(xTmp) & "】已經(jīng)預(yù)訂給客戶『" & bRs("CName") & "』 " & vbCrLf & vbCrLf _
& "該桌預(yù)訂沒有成功,請(qǐng)選擇其它座位或時(shí)間段。 ", vbInformation
bRs.Close
bDB.RollbackTrans
bDB.Close
Set bRs = Nothing
Set bDB = Nothing
'時(shí)間段給出焦點(diǎn)
cmbDatePart.SetFocus
Exit Sub
End If
Next
'5/更新座位標(biāo)記,查詢?cè)摱螘r(shí)間是否有人預(yù)訂該座位
Dim tmpDatePart, tmplHour As Integer
tmplHour = Hour(Time)
If tmplHour >= Lunch1 And tmplHour < Lunch2 Then '中午
tmpDatePart = 1
ElseIf tmplHour >= Supper1 And tmplHour < Supper2 Then '下午
tmpDatePart = 2
ElseIf tmplHour >= Night1 And tmplHour < NIght2 Then '晚上
tmpDatePart = 3
Else
tmpDatePart = 1
End If
'將空閑的桌位顯示預(yù)訂
If IsSqlDat = True Then
sTMp = "Update SiteType Set SiteStatus=1 Where Class In (Select Class From tbdBook Where ExpireDate='" & Date & "' And DatePart=" & tmpDatePart & ") And SiteStatus=0"
Else
sTMp = "Update SiteType Set SiteStatus=1 Where Class In (Select Class From tbdBook Where ExpireDate=#" & Date & "# And DatePart=" & tmpDatePart & ") And SiteStatus=0"
End If
bDB.Execute sTMp
Else
bRs.Close
bDB.RollbackTrans
bDB.Close
Set bRs = Nothing
Set bDB = Nothing
MsgBox "該單號(hào)被其他用戶使用,現(xiàn)在立即更新,稍等2秒后繼續(xù) ...", vbInformation
UpdateNo "預(yù)訂"
Exit Sub
End If
'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bDB.CommitTrans
bDB.Close
Set bRs = Nothing
Set bDB = Nothing
MsgBox "【" & ftCName.Text & "】的預(yù)訂完成。 ", vbInformation
sPubSite = ""
Resetform
BookChange = False
ftClass.SetFocus
Exit Sub
BookERRR:
MsgBox "預(yù)訂錯(cuò)誤:" & Err.Description, vbCritical
Exit Sub
End Sub
Private Sub Resetform()
ftNO.Text = GetNo("預(yù)訂")
ftClass.Text = ""
lstSite.Clear
'添加到座位列表中
AddToSite sPubSite
ftExpireDate.Text = Time
dtpExpireDate.Value = Date
ftNum.Text = "1"
ftMenuID.Text = ""
ftTel.Text = ""
ftCName.Text = ""
ftCID.Text = ""
cmbDatePart.ListIndex = 0
BookChange = False
End Sub
Private Sub cmdSelectMember_Click()
sGuestID = "": sGuestName = "": sGuestTel = ""
frmMemberSelect.Show 1
If sGuestID = "" Then
ftCID.SetFocus
Exit Sub
Else
BookChange = True
ftCID.Text = sGuestID
ftCName.Text = sGuestName
ftTel.Text = sGuestTel
'焦點(diǎn)轉(zhuǎn)到用餐人數(shù)
ftNum.SetFocus
End If
End Sub
Private Sub cmdSelectMenu_Click()
'選擇菜單酒席套餐
frmSelectCat.Show 1
If sMenuID <> "" Then
BookChange = True
ftMenuID.Text = sMenuID
End If
ftMenuID.SetFocus
End Sub
Private Sub cmdSelectSite_Click()
BookChange = True
frmSelectSite.Show 1
End Sub
Private Sub dtpExpireDate_Change()
BookChange = True
End Sub
Private Sub dtpExpireDate_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
cmbDatePart.SetFocus
End If
End Sub
Private Sub Form_Activate()
frmMain.lbControl.Caption = "新建預(yù)訂信息"
End Sub
Private Sub Form_Load()
GetFormSet Me, frmMain
NewBookFocus = True
Resetform
BookChange = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If BookChange = True Then
Dim intResult As Integer
intResult = MsgBox("預(yù)訂內(nèi)容已經(jīng)改變,是否保存。 ", vbInformation + vbYesNoCancel)
Select Case intResult
Case vbYes
Call cmdOK_Click
Exit Sub
Case vbNo
Exit Sub
Case vbCancel
Cancel = -1
Exit Sub
End Select
End If
End Sub
Private Sub Form_Resize()
On Error Resume Next
If Me.WindowState = 1 Then Exit Sub
Frame1.Left = (Me.Width - Frame1.Width) / 2
Frame1.Top = 500
'常規(guī)時(shí)
If Me.WindowState = 0 Then
Me.Move 1, 1, frmMain.Width - (frmMain.picTool.Width + 200), frmMain.Height - (frmMain.picADV.Height + 1150)
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
SaveFormSet Me
NewBookFocus = False
frmMain.lbControl.Caption = "收銀控制中心"
End Sub
Private Sub ftCID_Change()
BookChange = True
End Sub
Private Sub ftCID_DblClick()
Call cmdSelectMember_Click
End Sub
Private Sub ftCID_LostFocus()
'較對(duì)會(huì)員是否存在
If Trim(ftCID.Text) <> "" Then
If CheckCustomer(Trim(ftCID.Text)) = False Then
MsgBox "會(huì)員編號(hào)不存在,請(qǐng)重新輸入? ", vbExclamation
ftCID.Text = ""
Exit Sub
End If
End If
End Sub
Private Sub ftClass_Change()
'BookChange = True
End Sub
Private Sub ftClass_DblClick()
BookChange = True
Call cmdSelectSite_Click
End Sub
Private Sub ftClass_KeyPress(KeyAscii As Integer)
'添加預(yù)訂桌號(hào)
If Trim(ftClass.Text) <> "" And KeyAscii = 13 Then
BookChange = True
AddToSite Trim(ftClass.Text)
ftClass.Text = ""
ftClass.SetFocus
End If
End Sub
Public Sub AddToSite(stmpSite As String)
If stmpSite = "" Then Exit Sub
'檢測(cè)是否已經(jīng)添加,如果為添加
Dim xIn As Long
xIn = SendMessage(lstSite.Hwnd, LB_FINDSTRING, -1, ByVal stmpSite)
If xIn = -1 Then
lstSite.AddItem stmpSite
Else
MsgBox "座位已經(jīng)添加?如果需要添加其它餐桌。 ", vbInformation
End If
End Sub
Private Sub ftCName_Change()
BookChange = True
End Sub
Private Sub ftExpireDate_Change()
BookChange = True
If ftExpireDate.Text = "" Then
ftExpireDate.Text = "12"
ftExpireDate.SelStart = 0
ftExpireDate.SelLength = 2
Exit Sub
End If
End Sub
Private Sub ftExpireDate_LostFocus()
If ftExpireDate.Text = "" Then
ftExpireDate.Text = "12"
ftExpireDate.SelStart = 0
ftExpireDate.SelLength = 2
Exit Sub
End If
End Sub
Private Sub ftMenuID_Change()
BookChange = True
End Sub
Private Sub ftMenuID_DblClick()
Call cmdSelectMenu_Click
End Sub
Private Sub ftMenuID_LostFocus()
'較對(duì)菜單號(hào)是否存在
If Trim(ftMenuID.Text) <> "" Then
If CheckMenuCat(Trim(ftMenuID.Text)) = False Then
MsgBox "菜單編號(hào)不存在,請(qǐng)重新輸入? ", vbExclamation
ftMenuID.Text = ""
Exit Sub
End If
End If
End Sub
Private Sub ftNO_Change()
BookChange = True
End Sub
Private Sub ftNum_Change()
BookChange = True
If ftNum.Text = "" Then
ftNum.Text = "1"
ftNum.SelStart = 0
ftNum.SelLength = 1
Exit Sub
End If
End Sub
Private Sub ftNum_LostFocus()
If ftNum.Text = "" Then
ftNum.Text = "1"
ftNum.SelStart = 0
ftNum.SelLength = 1
Exit Sub
End If
End Sub
Private Sub ftTel_Change()
BookChange = True
End Sub
Private Sub lstSite_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
If lstSite.ListCount > 0 Then
MnuDelete.Enabled = True
mnuDeleteAll.Enabled = True
Else
MnuDelete.Enabled = False
mnuDeleteAll.Enabled = False
End If
PopupMenu mnuOperator
End If
End Sub
Private Sub MnuDelete_Click()
On Error Resume Next
'移走當(dāng)前選定的餐桌
lstSite.RemoveItem lstSite.ListIndex
End Sub
Private Sub mnuDeleteAll_Click()
lstSite.Clear
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -