Thuộc tính máy in không được kế thừa bởi các đối tượng sử dụng máy in mặc định

Nâng cao: yêu cầu chuyên gia mã hóa, tương tác và kỹ năng đa người dùng. Bài viết này áp dụng cho cơ sở dữ liệu Microsoft Access (. MDB) hoặc cơ sở dữ liệu Microsoft Office Access 2007 (. accdb). Bài viết này cũng áp dụng cho một dự án Microsoft Access (. ADP).

Triệu chứng

Sau khi bạn lập trình thay đổi thuộc tính của đối tượng Application. Printer , biểu mẫu và báo cáo sử dụng máy in mặc định không tự động kế thừa các thiết đặt này.

Nguyên nhân

Lưu biểu mẫu và báo cáo lưu trữ thông tin máy in như một phần của định nghĩa. Khi bạn xem trước hoặc in lưu biểu mẫu và báo cáo, các đối tượng sử dụng thông tin máy in được lưu trữ trong đó thay vì thừa hưởng các thiết đặt từ đối tượng Application. Printer .

Giải pháp

Có hai giải pháp có thể buộc báo cáo sử dụng thiết đặt máy in hiện tại. Microsoft cung cấp ví dụ lập trình để minh hoạ, không bảo hành hoặc thể hiện hoặc ngụ ý. Điều này bao gồm, nhưng không giới hạn, các bảo đảm ngụ ý về khả năng bán hoặc thể dục cho một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen với ngôn ngữ lập trình đang được chứng minh và các công cụ được sử dụng để tạo và quy trình gỡ lỗi. Các kỹ sư hỗ trợ của Microsoft có thể giúp giải thích các chức năng của một quy trình cụ thể, nhưng chúng sẽ không sửa đổi các ví dụ này để cung cấp chức năng bổ sung hoặc xây dựng quy trình để đáp ứng các yêu cầu cụ thể của bạn.

Đặt thuộc tính máy in ứng dụng. Printer

Sau khi bạn tuỳ chỉnh các thuộc tính cho đối tượng Application. Printer , đặt thuộc tính máy in biểu mẫu hoặc báo cáo đối tượng Application. Printer . Điều này buộc biểu mẫu hoặc báo cáo để tiêu diệt cấu trúc Devmode hiện tại và kế thừa một mới từ đối tượng Application. Printer . Lưu ý rằng phương pháp này là tốt để tạm thời thay đổi thuộc tính máy in của đối tượng. Thiết đặt máy in sẽ không được lưu trữ với các đối tượng trừ khi bạn rõ ràng lưu các đối tượng sau đó. Điều này cũng gây ra các đối tượng được thiết lập máy in cụ thể trong khoảng thời gian mà nó được mở. Để đặt thuộc tính máy in của đối tượng đối tượng Application. Printer , hãy làm theo các bước sau:

  1. Mở cơ sở dữ liệu mẫu Northwind. MDB.

  2. Đóng mẫu tổng đài chính khi nó xuất hiện.

  3. Nhấn ALT + F11 để mở Visual Basic Editor.

  4. Trên menu Chèn, bấm vào Mô-đun.

  5. Thêm Visual Basic cho ứng dụng mã sau mô-đun mới:

    Sub ChangePrinterSettingsForReport()   Dim rpt As Access.Report   Dim prtr As Access.Printer      Set Application.Printer = Nothing   Set prtr = Application.Printer      'Set the default printer's orientation to landscape   prtr.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   prtr.PaperSize = acPRPSLegal   'Print Preview the Alphabetical List of Products Report   DoCmd.OpenReport "Alphabetical List of Products", acPreview   Set rpt = Reports("Alphabetical List of Products")   'Set the Printer property of the report to the   'Application.Printer object   Set rpt.Printer = prtr   'Uncomment the following line if you wish to save the object   'with the current settings   'DoCmd.Save acReport, rpt.NameEnd Sub
  6. Bấm vào quy trình mẫu trên, và sau đó trên menu chạy , bấm chạy Sub/UserForm.

  7. Trên menu tệp , bấm đóng và quay lại Microsoft Access.

  8. Trong Microsoft Office Access 2003 hoặc trong Microsoft Access 2002, bấm vào thiết lập trang trên menu tệp , và sau đó nhấp vào tab trang . Trong Microsoft Office Access 2007, bấm vào nút Microsoft Office, trỏ chuột vàoin, và sau đó nhấp vào xem trước bản in. Trên tabxem trước bản in , bấm vào thiết lập trang trong nhómbố cục trang , và sau đó nhấp vào tab trang. Lưu ý rằng báo cáo kích thước giấy được đặt thành hợp phápvà hướng được đặt thành cảnh.

  9. Đóng báo cáo.

  10. Trong cửa sổ cơ sở dữ liệu, in xem trước báo cáo danh sách sản phẩm chữ cái lại. Lưu ý rằng cài đặt máy in không tự động được lưu với báo cáo.

Chỉ định cài đặt máy in của đối tượng trực tiếp

Một giải pháp là lập trình thiết đặt máy in của đối tượng, thay vì thiết lập các thuộc tính Application. Printer . Thiết lập các thuộc tính cá nhân của thuộc tính máy in của đối tượng là tương tự như người dùng theo cách thủ công thay đổi thiết đặt máy in trong hộp thoại thiết lập trang . Khi bạn lập trình thiết đặt máy in của đối tượng trực tiếp, cài đặt được lưu với các đối tượng tự động. Để đặt trực tiếp thiết đặt máy in của đối tượng, hãy làm theo các bước sau:

  1. Mở cơ sở dữ liệu mẫu Northwind. MDB.

  2. Đóng mẫu tổng đài chính khi nó xuất hiện.

  3. Nhấn ALT + F11 để mở Visual Basic Editor.

  4. Trên menu Chèn, bấm vào Mô-đun.

  5. Thêm Visual Basic cho ứng dụng mã sau mô-đun mới:

    Sub ChangePrinterSettingsForReport()   Dim rpt As Access.Report     DoCmd.OpenReport "Alphabetical List of Products", acPreview   Set rpt = Reports("Alphabetical List of Products")         'Set the default printer's orientation to landscape   rpt.Printer.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   rpt.Printer.PaperSize = acPRPSLegalEnd Sub
  6. Bấm vào quy trình mẫu trên, và sau đó trên menu chạy , bấm chạy Sub/UserForm.

  7. Trên menu tệp , bấm đóng và quay lại Microsoft Access.

  8. Trên menu tệp , bấm thiết lập trang, và sau đó nhấp vào tab trang . Trong Microsoft Office Access 2007, bấm vào nút Microsoft Office, trỏ chuột vàoin, và sau đó nhấp vào xem trước bản in. Trên tabxem trước bản in , bấm vào thiết lập trang trong nhómbố cục trang , và sau đó nhấp vào tab trang. Lưu ý rằng báo cáo kích thước giấy được đặt thành hợp phápvà hướng được đặt thành cảnh.

  9. Đóng báo cáo.

  10. Trong cửa sổ cơ sở dữ liệu, in xem trước báo cáo danh sách sản phẩm chữ cái lại. Lưu ý rằng cài đặt máy in đã được tự động lưu với báo cáo.

Trạng thái

Hiện tượng này là do thiết kế.

Thông tin Bổ sung

Biểu mẫu và báo cáo lưu trữ cấu trúc tên Devmode là một phần của định nghĩa. Cấu trúc Devmode là cấu trúc Microsoft Windows xác định thông tin máy in cho một đối tượng cụ thể. Ví dụ, các mặt hàng như kích cỡ giấy, thùng giấy và định hướng được lưu trữ như một phần của cấu trúc này. Khi bạn tạo một biểu mẫu mới hoặc báo cáo đối tượng, biểu mẫu hoặc báo cáo đối tượng tự động kế thừa cấu trúc Devmode từ đối tượng Application. Printer . Khi bạn lưu biểu mẫu hoặc báo cáo, cấu trúc Devmode được kế thừa tự động được lưu với nó. Theo mặc định, thuộc tính máy in cho đối tượng Application. Printer sẽ giống như máy in mặc định trong Microsoft Windows. Tuy nhiên, có thể lập trình thay đổi các thuộc tính để Microsoft Access sử dụng bộ thuộc tính khác nhau cho máy in mặc định. Bảng, truy vấn, xem và quy trình được lưu trữ không lưu trữ thông tin máy in như một phần của định nghĩa. Do đó khi bạn in bảng, truy vấn, xem hoặc quy trình được lưu trữ, họ sẽ luôn sử dụng các thiết đặt hiện tại được xác định trong đối tượng Application. Printer .

Các bước để tái tạo hành vi

  1. Trong Access 2003 hoặc trong Access 2002, mở cơ sở dữ liệu mẫu Northwind. MDB.

  2. Đóng mẫu tổng đài chính khi nó xuất hiện.

  3. Trên menu xem , trỏ chuột vào các đối tượng cơ sở dữ liệu, và sau đó bấm vào báo cáo.

  4. Bấm vào bảng chữ cái danh sách các sản phẩm báo cáo trong cửa sổ cơ sở dữ liệu, và sau đó trên menu tệp bấm vào thiết lập trang.

  5. Nhấp vào tab trang và xác minh rằng tùy chọn máy in mặc định được chọn trong phần máy in của hộp thoại.

  6. Bấm OK để đóng hộp thoại thiết lập trang .

  7. Trên menu Chèn, bấm vào Mô-đun.

  8. Thêm Visual Basic cho ứng dụng mã sau mô-đun:

    Sub ChangePrinterSettings()   'Set the default printer's orientation to landscape   Application.Printer.Orientation = acPRORLandscape   'Set the default printer's paper size to legal   Application.Printer.PaperSize = acPRPSLegalEnd Sub
  9. Bấm vào quy trình mẫu trên, và sau đó trên menu chạy , bấm chạy Sub/UserForm.

  10. Trên menu tệp , bấm đóng và quay lại Microsoft Access.

  11. Trên menu xem , trỏ chuột vào các đối tượng cơ sở dữ liệu, và sau đó nhấp vào truy vấn.

  12. Bấm vào danh sách chữ cái của sản phẩm truy vấn, và sau đó trên menu tệp , bấm xem trước bản in.

  13. Trên menu tệp , bấm vào thiết lập trang.

  14. Nhấp vào tab trang . lưu ý rằng tùy chọn hướng được đặt thành cảnh và tuỳ chọn kích cỡ giấy được đặt thành Pháp như mong đợi.

  15. Bấm hủy bỏ để đóng hộp thoại thiết lập trang , và sau đó đóng truy vấn.

  16. Trên menu xem , trỏ chuột vào các đối tượng cơ sở dữ liệu, và sau đó bấm vào báo cáo.

  17. Trong cửa sổ cơ sở dữ liệu, bấm vào bảng chữ cái danh sách các sản phẩm báo cáo, và sau đó nhấp vào xem trước.

  18. Trên menu tệp , bấm vào thiết lập trang.

  19. Nhấp vào tab Trang . lưu ý rằng tùy chọn hướng được đặt thành chân dung và tùy chọn kích thước giấy được đặt thành chữ cái, khác với các thiết đặt được thực hiện đối tượng Application. Printer .

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

×