用rs232連結一部標籤印表機(EPSON U210),短距離都很正常
,因為須拉長距離約60M,所以就買了rs232-rs485的轉換器....
,用4芯電話線連結(RJ-11)?,可是印多筆資料時總是會lose ~> <~
,有啥解決方式ㄚ?快崩潰了~ > < ~
情況:在列印到約第14筆資料後,就不印了...(13筆內就比較正常)
我貼一下程式碼內容:
Private Sub CmdSend_Click()
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount = 0 Then
MsgBox "尚未點餐。", vbInformation
Exit Sub
Else
'中廚部1
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 < 2000 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
classT = "【中廚】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
Do Until AdoTemp.Recordset.EOF
For i = 1 To AdoTemp.Recordset!數量
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
Next i
AdoTemp.Recordset.MoveNext
Loop
MSComm.PortOpen = False
End If
'Call Delay
'中廚部789
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 > 7000 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
classT = "【中廚】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
Do Until AdoTemp.Recordset.EOF
For i = 1 To AdoTemp.Recordset!數量
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
Next i
AdoTemp.Recordset.MoveNext
Loop
MSComm.PortOpen = False
End If
'Call Delay
'點心部234
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 > 2000 and 代號 < 4999 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
Do Until AdoTemp.Recordset.EOF
classT = "【點心】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " *" & AdoTemp.Recordset!數量 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
AdoTemp.Recordset.MoveNext
MSComm.PortOpen = False
Loop
End If
End If
end sub
,因為須拉長距離約60M,所以就買了rs232-rs485的轉換器....
,用4芯電話線連結(RJ-11)?,可是印多筆資料時總是會lose ~> <~
,有啥解決方式ㄚ?快崩潰了~ > < ~
情況:在列印到約第14筆資料後,就不印了...(13筆內就比較正常)
我貼一下程式碼內容:
Private Sub CmdSend_Click()
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount = 0 Then
MsgBox "尚未點餐。", vbInformation
Exit Sub
Else
'中廚部1
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 < 2000 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
classT = "【中廚】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
Do Until AdoTemp.Recordset.EOF
For i = 1 To AdoTemp.Recordset!數量
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
Next i
AdoTemp.Recordset.MoveNext
Loop
MSComm.PortOpen = False
End If
'Call Delay
'中廚部789
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 > 7000 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
classT = "【中廚】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
Do Until AdoTemp.Recordset.EOF
For i = 1 To AdoTemp.Recordset!數量
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
Next i
AdoTemp.Recordset.MoveNext
Loop
MSComm.PortOpen = False
End If
'Call Delay
'點心部234
AdoTemp.RecordSource = "select * from 購餐資料 where 座位 ='" _
& FormMain.FrmOrder.Caption & "'" _
& " and 代號 > 2000 and 代號 < 4999 order by 代號"
AdoTemp.Refresh
If AdoTemp.Recordset.RecordCount > 0 Then
Do Until AdoTemp.Recordset.EOF
classT = "【點心】"
MSComm.CommPort = 2
MSComm.PortOpen = True
MSComm.Output = Chr(27) & "@"
MSComm.Output = Chr(27) + "!" + Chr(48) '英數字型拉高2倍
MSComm.Output = Chr(28) + "!" + Chr(12) '中文字型放大2倍
MSComm.Output = classT & FormMain.FrmOrder.Caption & Chr(10) + Chr(13)
MSComm.Output = Chr(10) + Chr(13)
MSComm.Output = AdoTemp.Recordset!代號 & " *" & AdoTemp.Recordset!數量 & " " & AdoTemp.Recordset!品名 & Chr(10) + Chr(13)
MSComm.Output = Chr(27) + "d" + Chr(8) '紙張總長度
MSComm.Output = Chr(27) + "i" '切刀
AdoTemp.Recordset.MoveNext
MSComm.PortOpen = False
Loop
End If
End If
end sub
全站熱搜
留言列表