打印控制!!!!!!!!!!!!!!!
收银电脑上连接一台本地打印机,厨房的打印机作为网络打印机。点菜完后自动把小票从厨房的打印机打印出来(不需要选择打印机),当客人结算后,自动把结帐单从本地打印机打印出来(也不用选择打印机),我用vb的datareport设计器,每次我用代码选择打印机,结果打印的时候,默认的打印机和我选择的打印机一起打印,怎样杜绝这个问题~~ 问题点数:80、回复次数:6Top
1 楼mndsoft(枕善居(http://www.mndsoft.com/)回复于 2005-02-24 14:25:22 得分 20
可能首先要指定默认的打印机,一般默认的打印机有优先权。
再考虑一下。Top
2 楼newwish2(侯)回复于 2005-02-24 14:34:51 得分 0
怎么指定呢??我的测试代码如下:
Private Sub DataReport_Initialize()
Dim Sql As String
Dim Sqltable As String
Sqltable = Trim$(Fsettle.Ttableno.Text)
Sql = "select food.foodname,choicemenu.qty from food,choicemenu " & _
"where choicemenu.tableno='" & Sqltable & "'and food.foodno=choicemenu.foodno"
rs.Open Sql, P_cnn, adOpenKeyset, adLockOptimistic
DataReport1.Sections("Section1").Controls("text1").DataField = "foodname"
DataReport1.Sections("Section1").Controls("text2").DataField = "qty"
DataReport1.Sections("Section1").Controls("Label2").Caption = CStr(DataReport1.Width)
'DataReport1.BottomMargin = 1440
DataReport1.LeftMargin = 70
DataReport1.TopMargin = 70
Set DataReport1.DataSource = rs
Dim prn As Printer
Dim strName As String
Dim bOK As Boolean
strName = "Epson LQ-1600K"'默认的打印机是Epson Stylus COLOR 1520 ESC/P 2
bOK = False
For Each prn In Printers
If prn.DeviceName = strName Then
Set Printer = prn 'Printers(0)
bOK = True
Exit For
End If
Next prn
Printer.NewPage
'Printer.EndDoc
If bOK = False Then
MsgBox "打印机不存在或已改名", vbInformation
Exit Sub
End If
End SubTop
3 楼cindytsai(笨笨的蔡鸟)回复于 2005-02-24 14:38:43 得分 20
帮顶一下:
http://search.csdn.net/Expert/topic/1346/1346349.xml?temp=.1616327Top
4 楼cindytsai(笨笨的蔡鸟)回复于 2005-02-24 15:10:01 得分 20
http://search.csdn.net/Expert/topic/2601/2601678.xml?temp=.4227869Top
5 楼nice_soft()回复于 2005-02-24 16:33:35 得分 20
试一下用华表的CELL控件打印Top
6 楼newwish2(侯)回复于 2005-02-28 08:57:17 得分 0
谢谢诸位~~~
结贴.
实现代码:还是那段
Dim x As Printer
Dim strName As String
Dim OK As Boolean
'strName = "Epson LQ-1600K"
strName = "Epson LQ-1800K"
OK = False
For Each x In Printers
If x.DeviceName = strName Then
Set Printer = x
OK = True
Exit For
End If
Next x
Printer.NewPage
Printer.EndDoc
If not OK Then
MsgBox "打印机不存在或已改名", vbInformation
Exit Sub
End If
Top




