Private Sub dqxslbl_Change()
If MdPrintMode = 2 Then Exit Sub
Tojlmd = False
If dqxslbl.Caption = tpxslbl.Caption Then
PrintCmd.Enabled = False
OperateAccessDb "Update mdb Set ywc_mdb='1' Where mdh_mdb='" & dqmdlbl.Caption & "'", 0
Call PrintMd '调用此过程时有时会出现“automation error system call failed”
MsgBox "托盘已满,正在打印码单!", vbInformation, "提示"
Tojlmd = True
PrintCmd.Enabled = True
End If
End SubPrivate Sub PrintMd()
On Error GoTo ErrorProc
MyDoc.Close False
Set MyDoc = MyApp.Documents.Open(App.Path & "\mdyx.lab")
MyDoc.Printer.SwitchTo mdPrintlbl.Caption
OperateAccessDb "Select xh_zxbzjl,gs_zxbzjl,jz_zxbzjl,zdgh_zxbzjl From zxbzjl Where mdh_zxbzjl='" & dqmdlbl.Caption & "' Order by xh_zxbzjl ASC", 1
If redset.RecordCount < 1 Then Exit Sub
MyDoc.Variables("gg").Value = ggtxt.Text
MyDoc.Variables("ph").Value = phlbl.Caption
MyDoc.Variables("dj").Value = djlbl.Caption
MyDoc.Variables("mdtm").Value = dqmdlbl.Caption
MyDoc.Variables("xs").Value = redset.RecordCount
MyDoc.Variables("czy").Value = redset.Fields("zdgh_zxbzjl")
MyDoc.Variables("scbc").Value = bzbzlbl.Caption
Dim xhTmpI As Integer
redset.MoveFirst
For xhTmpI = 1 To redset.RecordCount
MyDoc.Variables("xh" & CStr(xhTmpI)).Value = redset.Fields("xh_zxbzjl")
MyDoc.Variables("gs" & CStr(xhTmpI)).Value = redset.Fields("gs_zxbzjl")
MyDoc.Variables("jz" & CStr(xhTmpI)).Value = redset.Fields("jz_zxbzjl")
redset.MoveNext
Next xhTmpI
MyDoc.PrintLabel 2
MyDoc.FormFeed
MyDoc.Close False
Set MyDoc = MyApp.Documents.Open(App.Path & "\labelyx.lab")
Exit Sub
ErrorProc:
If Err.Description <> "" Then
MsgBox Err.Description
End If
End Sub
不是每次都出现。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货