2010-07-27 112 views
0

我使用這個代碼,從形式打印記錄

Private Sub btnPrintRecord_Click() 
On Error GoTo Err_btnPrintRecord_Click 


    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 
    DoCmd.PrintOut acSelection 

Exit_btnPrintRecord_Click: 
    Exit Sub 

Err_btnPrintRecord_Click: 
    MsgBox Err.Description 
    Resume Exit_btnPrintRecord_Click 

End Sub 

但是,這個代碼不彈出打印窗口選擇打印機,它會自動發送到默認打印機打印的記錄。

任何人都可以幫助彈出打印窗口,從中選擇打印機。

回答

1

DoMenuItem自至少Access 2000以來已被棄用。您可以使用RunCommand打開打印窗口。

DoCmd.RunCommand acCmdPrint 

這是幾乎從來沒有打印記錄一個好主意。建立一個可以與Where參數一起使用的報告並不需要很長時間。這會給你更多的控制權,併爲你的用戶帶來更愉快的體驗。

+0

我們已經有報告..但工程師想要一個單一的記錄檢查錯誤..臨時參考 – user397316 2010-07-27 14:55:58

+0

感謝您的代碼行,它正在工作..完美 – user397316 2010-07-27 14:56:31

+0

在打印對話框中,他們應該選擇pdf和選定的記錄選項..否則這將打印整個數據庫 – user397316 2010-07-27 14:57:52

0

正如文檔中所述,DoCmd.PrintOut不顯示打印對話框。

我想到的第一個解決方案是使用SendKeys功能,發送Ctrl + P並以這種方式打開打印對話框。

+0

我是新來access..Can小姐請您在這裏包括該功能... 感謝 – user397316 2010-07-27 14:12:47

+0

只需鍵入sendkeys進入VBA編輯器,然後按F1,然後你會看到,你必須使用的SendKeys「^ P」 ! – dwo 2010-07-27 14:31:52

+1

SendKeys幾乎不是一個好主意,它不會在運行Vista的電腦上運行。 – Fionnuala 2010-07-27 14:45:21

1

您是否看過打印機對象(它是在A2002中引入的)?您可以使用它獲取有關打印機的信息並創建自己的對話框,以便用戶選擇打印機,然後將其設置在打印機對象上並打印報告。我從來沒有真正使用它,所以不能給出詳細的說明,但這是處理這個問題的正確方法。

而且,是的,這可能比它看起來要困難得多,但相信我,這比引入Printer對象之前更容易!