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
不是每次都出现。