Printer.Height = 8000: Printer.Width = 8000 '设置高度和宽度 Printer.CurrentX = 1100: Printer.CurrentY = 300 '设置打印位置 Printer.FontSize = 12 '设置字体大小 Printer.Print \桂湖酒店客房 (住宿证) \ '打印文字 Dim A, B, C, d As Integer '定义变量
A = 100: B = 500: C = 4800: d = 400 '为变量赋值 Printer.FontSize = 10 '设置字体大小 Printer.CurrentX = 100 + A '设置打印横坐标 Printer.CurrentY = B + 200 '设置打印纵坐标
Printer.Print d & \ NO.\ '打印日期、时间和凭证号码
B = B + d '为变量B赋值 ??
Printer.Line (A, B + 100)-(C, B + 100) '打印一条直线 Printer.CurrentX = 100 + A Printer.CurrentY = B + 200
Printer.Print \操作员: \ 欢迎光临\ Printer.EndDoc '输出给打印机 Exit Sub
If Err.Number = 482 Then
MsgBox \请连接打印机!\系统提示\ Err.Clear End If End Sub
5.5调房登记模块设计与实现
在主窗体中,选择住宿管理菜单下的调房登记项,将进入调房登记模块。在调房登记模块中选择客人入住的房间号和空闲房间号,实现调房登记,系统只允许调换等价客房。调房登记界面如图5.5所示:
图5.5 调房登记窗体界面
Fig. 5.5The Housing Register Transfer form interface
调房登记模块主要实现对客人房间进行调换的过程,源房间号列表是查询登记表中当前所有住宿客人的房间号码,在选择源房间号后,实现生成目标房间号。
主要代码如下
Private Sub Combo3_Click()
Combo2.Clear '清空Combo2中的内容
If Combo3.Text <> \ '如果Combo3不为空 ?? End If
'赋值给bh.text等
With Adodc1.Recordset 'with快
If .Fields(\凭证号码\凭证号码\为“凭证号码”字段赋值 ??
End With '结束with快 End If End If
Combo2.Enabled = True 'Combo2可用 Texbz.Enabled = True 'Texbz可用 End If End Sub
5.6追加押金模块设计
在主窗体中,选择住宿管理菜单下的追加押金项,将进入追加押金模块。在“凭证号码”下拉列表框中选择客人入住的凭证号码,在“追加押金”文本框中输入客人续交的押金后,在相应的文本框中将显示客人的入住信息,并自动计算宿费提醒日期和时间,还可打印追加押金票据。追加押金界面如图5.6所示:
图5.6 追加押金窗体界面
Fig. 5.6The Additional Deposit form interface
在窗体的A事件中,主要实现查询数据表中住宿客人信息,对“凭证号码”列表框赋值。主要代码如下: Private Sub Form_Activate() Dim i As Integer
czy.Text = Main.StatusBar1.Panels(4).Text '赋值给czy.text,显示当前操作员
'查询住宿登记信息
Adodc1.RecordSource = \凭证号码 from tb_djb where 标志= '1'order by 凭证号码\
Adodc1.Refresh '刷新记录
If Adodc1.Recordset.RecordCount > 0 Then '如果记录数大于0 For i = 1 To Adodc1.Recordset.RecordCount '循环从1到记录数值
Combo1.AddItem Adodc1.Recordset.Fields(\凭证号码\从Combo1中添加项目
Adodc1.Recordset.MoveNext '记录下移 Next i End If End Sub
在追加押金模块中单击“确定”按扭,将把追加押金信息保存在数据表中,自动计算新的提醒日期,并设定其他控件的有效和无效。部分代码如下: Private Sub Command1_Click() '保存追加押金信息
If Text1.Text <> \ '查询住宿登记信息 ??
adoRs.Fields(\预收金额\= Val(Text3.Text) + Val(Text1.Text) '把已收押金和追加押金的和赋给预收金额字段 ??
Adodc2.Refresh '刷新数据 '编辑住宿登记预收信息 ??
MsgBox \请填写完整的数据,再保存!\系统提示\如果凭证号码为空或追加押金为空,提示消息 End If End Sub
5.6系统维护模块的具体实现
系统维护模块包括子模块数据备份、数据恢复和初始化。
数据备份模块,可以将系统的所有数据库内容都备份到指定的备份文件夹中。窗体如下图5.71所示:
图5.71 数据备份界面 Fig. 5.71The surface of Data backup
部分代码如下:
Private Sub Command1_Click()
A = MsgBox(\确定备份数据?\系统提示\ If A = vbYes Then
Command1.Enabled = False ProgressBar1.Visible = True
ProgressBar1.Max = UBound(workarea) ProgressBar1.Value = ProgressBar1.Min
For Counter = LBound(workarea) To UBound(workarea) workarea(Counter) = \ ProgressBar1.Value = Counter Open str1 For Binary As #1 Open str2 For Binary As #2 Do While Not EOF(1) Get #1, , char Put #2, , char Loop Close