-
10-06-2010, 04:38 AM #1Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Bắt sự kiện Report được in ra máy in?
Tôi muốn một bắt được sự kiện 1 Report được in ra máy in nhưng chưa có cách nào để phân biệt report được in ra máy in hay Print Preview? Mong cả nhà giúp đỡ!
View more random threads:
- Connect ODBC trong ACCESS!
- Xin cho hỏi cú pháp tham chiếu đến textBox thuộc subForm
- tìm kiếm trong ComboBox trên chứng từ phiếu chi
- Xin hỏi cách tạo combobox lồng nhau
- dữ liệu ngày trả về quý
- tìm kiếm qua các điều kiện chọn textbox
- Em có hai thắc mắc mong được anh chị giúp đỡ
- Kết nối SQL server với Access
- Tree View Control trong Access
- Điều chỉnh thông tin thông qua Query
-
10-06-2010, 01:44 PM #2Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 16
Ðề: Bắt sự kiện Report được in ra máy in?
Gửi bởi dongnamnb
Muốn in ra máy in : DoCmd.OpenReport "rptPhieuThu"
Trong đó rptPhieuThu là tên Report muốn in hay xem
Thân
-
10-06-2010, 02:13 PM #3Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Bắt sự kiện Report được in ra máy in?
Cảm ơn xuanthanh nhiều!
Ý mình muốn hỏi là làm sao để xác định khi nào thì người sử dụng in ra máy in kể cả qua Preview hay không qua Preview? Nếu dùng lênh như xuanthanh thì xác đinh đc rồi nhưng nếu người dùng in khi đang Preview thì làm sao để bắt được sự kiện này?
Mình đang thiết kế 1 report đặc biệt chỉ cho phép người sử dụng in ra máy in 1 lần duy nhất còn Preview thì thoải mái.
-
10-06-2010, 05:59 PM #4Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
Re: Ðề: Bắt sự kiện Report được in ra máy in?
Về việc bắt sao cho có thể biết là in ra giấy hay preview thì khá phức tạp.
Trong phạm vi có thể có của Access, để ai cũng có thể làm được, tôi đề xuất với bác một vài giải pháp nhé:
Giải pháp 1:
Trong Tools - *******, bác tắt cái Allows Default Shortcut Menus.
Desgin riêng một cái toolbar cho Print Preview, trong đó không có nút Print. Sau đó trong report, bác gán thuộc tính ToolBar của report với cái toolbar này.
Giải pháp 2:
Trong report, bác cho một cái text Text1- ví dụ: "Không có giá trị phát hành"
Trong code gọi lệnh in thì bác có thể code đại khái như sau:
If luachon = "In ra giấy" Then
DoCmd.OpenReport "ReportName", acViewNormal, , , , "In"
Else
DoCmd.OpenReport "ReportName", acViewPreview, , , , "Xem"
End If
Trong Report, bác code cho cái Report_Open:
Text1.Visible = Not (OpenArgs = "In")
Với giải pháp 2 thì khi in bằng việc chọn Print trong Print Preview, sẽ kèm theo một chuỗi "Không có giá trị phát hành", như vậy nó sẽ không hợp lệ, đúng không.
Có thể có cách khác "siu" hơn, nhưng chịu, chỉ đến mức này thôi.
-
10-06-2010, 10:10 PM #5Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Bắt sự kiện Report được in ra máy in?
Một giải pháp khác : Thiết kế form frmMeNu để đìều khiển tất cả các hoạt động của chưng trình ( nếu không muốn làm cái ToolBar như của phatnq2002). Trong form đó có núlt lệnh để in Report, tạo một OptionGroup, gồm hai option là Print và Preview, một TextBox txtSo, gán giá trị của txtSo sao cho mỗi khi chọn option Print thì giá trị của nó tăng lên 1 (cái txtSo có giá trị ban đầu = 0). Và như thế khi viết code cho nút lệnh, nếu chọn option Preview thì vô tư, khi chọn option Print thì nếu txtSo=1 thì cho lệnh in, nếu, txtSo>1 thì cấm in.
Giải pháp này chắc là được
Nếu dùng ToolBar thì cũng tương tự thế thôi
Thân
-
10-07-2010, 04:38 AM #6Silver member
- Ngày tham gia
- Feb 2016
- Bài viết
- 0
Ðề: Bắt sự kiện Report được in ra máy in?
Ý tưởng của bác phatnq2002 tôi cũng đã thử nhưng chưa triệt để vì người dùng vẫn có thể ấn tổ hợp phím Ctrl + P để in như thường. Tôi luôn muốn mọi cái phải thật triệt để khi viết phần mềm. Mong nhận đc các giải pháp tốt hơn từ DKT!
-
10-07-2010, 06:50 PM #7Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Bắt sự kiện Report được in ra máy in?
Gửi bởi dongnamnb
-
10-07-2010, 08:15 PM #8Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Re: Ðề: Bắt sự kiện Report được in ra máy in?
Gửi bởi dongnamnb
Trong form, ô này bị lock lại và được check Yes khi in bản chính thức!
Trong report, mình tạo 1 label11 với nội dung sau: "Bản Chỉ để xem không có giá trị phát hành". Và cho thuộc tính Visible= false
Xử lý nút nhấn như sau:
Mã:Private Sub cmdReview_Click() DoCmd.OpenReport "Table1", acPreview Reports![Table1]![Label11].Visible = True End Sub '''''''''''''' Private Sub cmdPrint_Click() If Isprint Then MsgBox " Da in roi, khong in duoc nua" Else DoCmd.OpenReport "Table1", acNormal Isprint.Value = True Me.Repaint End If End Sub
Cổng điện là một cơ sở tòa nhà phổ biến được sử dụng để kiểm soát lối vào và lối ra của những người bên trong và bên ngoài tòa nhà. Cửa điện truyền thống cần sử dụng điện để điều khiển mở và đóng...
Ưu điểm và nhược điểm của cảm biến cửa cổng điện điều khiển từ xa