• In trực tiếp trên access
  • In trực tiếp trên access

    tieu_ngao > 13-10-17, 08:03 PM

    Mình làm 1 chương trình in phiếu trên access bằng giấy in nhiệt.
    Các bạn cho mình hỏi có cách nào khi nhấn lệnh in thì nó tự in ra luôn phiếu mà ko cần hiện ra hộp thoại chọn số trang in của máy in ko?
    Trân trọng cám ơn!
  • RE: In trực tiếp trên access

    cpucloi > 14-10-17, 09:12 AM

    Docmd.OpenReport "TenReport",acViewNormal
  • RE: In trực tiếp trên access

    DooHoaangPhuuc > 14-10-17, 04:07 PM

    Một vấn đề xin Các Bác, Các Chú giúp là in hai mặt cho nhiều report báo cáo trong access.
    Có một số reports được thiết kế dàn trải trên 2 hoặc nhiều hơn 2 trang .
    Khi in từng report định dạng in 2 mặt theo máy in thì được.
    Nhưng in nhiều reports cũng định dạng 2 mặt cho máy in, khi in ra chỉ in được một mặt giấy.
    Viết code cho lệnh in như thế nào.
    Thanks
  • RE: In trực tiếp trên access

    ongke0711 > 14-10-17, 04:50 PM

    (14-10-17, 04:07 PM)DooHoaangPhuuc Đã viết: Một vấn đề xin Các Bác, Các Chú giúp là in hai mặt cho nhiều report báo cáo trong access.
    Có một số reports được thiết kế dàn trải trên 2 hoặc nhiều hơn 2 trang .
    Khi in từng report định dạng in 2 mặt theo máy in thì được.
    Nhưng in nhiều reports cũng định dạng 2 mặt cho máy in, khi in ra chỉ in được một mặt giấy.
    Viết code cho lệnh in như thế nào.
    Thanks

    Việc in 2 mặt giấyl là do cái máy in quyết định chứ có phải do ứng dụng làm ra đâu bạn. Máy in hiện đại có tính năng in 2 mặt thì nó in được thôi.
  • RE: In trực tiếp trên access

    maidinhdan > 14-10-17, 11:55 PM

  • RE: In trực tiếp trên access

    DooHoaangPhuuc > 15-10-17, 02:35 PM

    Cảm ơn Chú Ongke0711.
    + Khi in tuần tự từng report thì điều chỉnh trong máy in 2 mặt thì bình thường 
    (Máy in có chức năng in 2 mặt giấy)
    + Tạo nút lệnh gộp in nhiều reports cùng lúc để tránh chọn nhiều từng report (tránh thiếu sót) thì khi in ra cũng chỉ được 1 mặt giấy (mặc dù đã điều chỉnh 2 mặt cho từng report một)
    Trước có đọc loáng thoáng đâu đó có lệnh liên quan in như thế này nhưng không nhớ rõ (dòng lệnh trong đó có chứa từ ....duplicate ... thì phải. )
  • RE: In trực tiếp trên access

    ongke0711 > 15-10-17, 04:55 PM

    Không phải duplicate mà là Duplex.
    Hàm in Report có tùy chọn in 1 măt, 2 mặt, in dọc, in ngang:

    Mã PHP:
    Public Sub PrintReport(strReport As StringstrPrinter As StringfDuplex As BooleanfPortrait As Boolean)
       
       On Error 
    GoTo Err_PrintReport
       Dim rptReport 
    As Report
       
       DoCmd
    .OpenReport strReportacViewPreview, , , acHidden
       
       
    'Xác dinh may in cho report can in.'
       Set rptReport Reports(strReport)
       Set rptReport.Printer Application.Printers(strPrinter)
       
       
    'Tuy chon in (in 1 mat, 2 mat, in doc, in ngang).'
       If fDuplex Then
           If fPortrait Then
               
    'In Doc - 2 mat'
               rptReport.Printer.Duplex acPRDPHorizontal
           Else
               
    'In Ngang - 2 mat'
               rptReport.Printer.Duplex acPRDPVertical
           End 
    If
       Else
           
    'In 1 mat theo chieu giay da chon'
           rptReport.Printer.Duplex acPRDPSimplex
       End 
    If
       
       If fPortrait Then
           
    'In Doc'
           rptReport.Printer.Orientation acPRORPortrait
       Else
           
    'In Ngang'
           rptReport.Printer.Orientation acPRORLandscape
       End 
    If
       
       
    'In truc tiep report, không Preview.'
       DoCmd.OpenReport strReportacViewNormal
       
       DoCmd
    .Close acReportstrReport
       
    Exit_PrintReport
    :
       Exit Sub
      
    Err_PrintReport
    :
       MsgBox Err.DescriptionvbExclamation"Error " Err.Number
       Resume Exit_PrintReport
      
    End Sub 
  • RE: In trực tiếp trên access

    DooHoaangPhuuc > 16-10-17, 08:14 PM

    Cháu cảm ơn Chú Ongke0711 rất nhiều. Đúng là từ Duplex này.