2013-08-16 53 views
1

我們擁有的HP LaserJet 6P在我們的POS機設置在自動默認打印機選擇作爲紙張來源,這VBA代碼打印:訪問默認打印機只接受手動進紙

Dim stDocName As String 
Me.Refresh 
stDocName = "Retail Receipt" 
Dim prtr As Access.Printer 
Set Application.Printer = Nothing 
Set prtr = Application.Printer 
DoCmd.OpenReport stDocName, acNormal 

但是,僅將如果在手動進紙托盤中有紙張,請進行打印我已嘗試將其設置爲此,如果我從記事本中嘗試,則它會打印良好,因此它必須是訪問中不允許進行打印的內容

任何人都可以建議?

回答

0

打印功能是否直接打印報告?如果是這樣,你可以試試這個按鈕後點擊:

Private Sub cmdPrint_Click() 
    DoCmd.OpenReport "Retail Receipt", acViewNormal, "", "", acNormal 
    DoCmd.RunCommand acCmdPrint 
    Exit Sub 

它應該採取默認的打印機設置,直接打印。

+0

這是但我們希望它直接轉到它在後臺與辦公室中的其他打印機一起工作的打印機 – CCG121

+0

嘗試在沒有使用任何VBA的情況下在打印預覽**中打開報告,然後從那裏使用系統打印對話框以選擇要使用的打印機。打印一份副本,保存您的工作,退出應用程序,然後再次打開並嘗試通過我提供的VBA代碼進行打印。 訪問喜歡使自己的打印默認設置(因此,當從安裝了不同打印機的不同打印機上打印某些報告時出現錯誤 - 「此報告最初是爲XXX打印機格式化的,它將使用默認設置打印。 「) – CopperCreekMedia

+0

試過我也嘗試將打印機上的默認紙盒設置爲紙盒2並進行打印,即使將其設置爲僅從紙盒2打印 – CCG121