ongke0711 > 13-10-19, 09:51 PM
Function XemInReport2(strTenReport As String, strType As String)
On Error GoTo HandleError
Dim DefaultPrinter As String
Dim ReportPrinter As String
Dim prt As Access.Printer
Dim strTenMayIn As String
strTenMayIn = Nz(DLookup("TenMayIn", strTableName, "TenReport='" & strTenReport & "'"), "")
If strTenMayIn = "" Then
strText = strTenReport & " na2y chu7a d9u7o75c thie61t la65p Ma1y In: " & strTenMayIn
MsgBox ftxt(strText, "Vni"), vbCritical + vbOKOnly
Exit Function
End If
'==========='
If TonTai_MayIn(strTenMayIn) = False Then Exit Function
DefaultPrinter = Application.Printer.DeviceName
ReportPrinter = strTenMayIn
If ReportPrinter <> DefaultPrinter Then
For Each prt In Application.Printers
If prt.DeviceName = ReportPrinter Then
Set Application.Printer = prt
Exit For
End If
Next prt
End If
DoCmd.OpenReport strTenReport, acViewNormal
'Tra lai hien trang default printer cho PC'
If ReportPrinter <> DefaultPrinter Then
Set Application.Printer = Application.Printers(DefaultPrinter)
End If
Exit Function
HandleError:
MsgError Err.Number, Err.Description, strName, "XemInReport"
Exit Function
End Function
DooHoaangPhuuc > 13-10-19, 10:14 PM
Minh Tiên > 14-10-19, 09:59 AM
(13-10-19, 09:34 PM)ongke0711 Đã viết: Cái hàm TonTaiMayIN code như thế nào bạn?
Thay vì Set printer cho report thì Set Default Printer cho nguyên ứng dụng Access luôn thử.
Function TonTai_MayIn(strTenMayIn As String) As Boolean
On Error GoTo HandleError
Dim prt As Printer
For Each prt In Printers
If prt.DeviceName = strTenMayIn Then
TonTai_MayIn = True
Exit Function
End If
Next prt
MsgBox ftxt("Ma1y In: [" & strTenMayIn & "] kho6ng co1 hoa85c chu7a ke61t no61i vo71i PC !", "Vni"), _
vbCritical + vbOKOnly
Exit Function
HandleError:
MsgError Err.Number, Err.Description, strName, "TonTai_MayIn"
Exit Function
End Function
ongke0711 > 14-10-19, 10:57 AM
(13-10-19, 10:14 PM)DooHoaangPhuuc Đã viết: Nhân đây Cháu cũng xin hỏi, ở máy Laptop của cháu. Trước kia, khi mở Table, Query hay Report và Tab "Extenal Data" và xuất ra với định dạng "Export Data with formating and layout" thì dữ liệu xuất ra file Excel tương tự cấu trúc của Table, Query (chiều rộng cột các fields như định trong Table, Query). Nhưng dạo này khi xuất như vậy, các cột có dữ liệu đều có chiều rộng = 0. Như ở dạng chọn "Hide" toàn bộ các cột fields này trong Excel.
Qua máy khác thì không gặp trường hợp này.
Minh Tiên > 15-10-19, 04:47 PM
...
DoCmd.OpenReport strTenReport, acViewPreview, , , acHidden
Set prt = Application.Printer
Application.Printer = Application.Printers(strTenMayIn)
Set rpt = Reports(strTenReport)
Set rpt.Printer = Application.Printers(strTenMayIn)
With rpt.Printer
'Thiết lập loại giấy, lề trang, ...
End With
DoCmd.OpenReport strTenReport, acViewNormal '(Để in hoặc acViewPreview để xem)
Set Application.Printer = prt 'Trả về Default Printer