• Nhờ giúp đỡ code chuyển Reports sang Excel
  • Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 12-03-14, 10:01 AM

    Mình muốn xuất số liệu trong Reports có tên là "R_BKHDBan_Excel" sang Excel, với điều kiện :
    Dòng đầu tiên trong Reports "1. Hàng hóa, dịch vụ không chịu thuế GTGT" khi xuất sang Excel thì nằm ngay dòng thứ 17 trên bảng Excel.
    Chỉ điều kiện như vậy thôi, mong các bạn hướng dẫn nhé.
    Mình gửi kèm file mẫu.

    http://upfile.vn/62hx/XuatExcel.zip
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 12-03-14, 11:29 AM

    Có ai giúp mình với. Cám ơn !
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    MTNQ > 21-03-14, 02:06 AM

    Không biết bạn đã tìm ra đáp án chưa?

    Để trả lời chính xác cần thêm một vài thông tin cụ thể như:
    1-Bạn muốn xuất ra một file Excel mới hay ghi vào một file đã có dữ liệu?
    2-Phiên bản Access < 2000, 2000-2003, hay >= 2007 ?
    3-Sao y report (nguyên định dạng) hay chỉ xuất dữ liệu từ nguồn của repot?

    Có nhiều cách đề xuất ra excel như dùng Macro, DoCmd.OutputTo, DAO,ADO

    Mình đưa ra một vài ví dụ nhé:

    1-Xuất ra file Excel mới:

    -Với phiên bản >= 2007 :
    Dùng DoCmd.OutputTo
    Mã:
    Private Sub Command3_Click()
    On Error GoTo Err_Command3_Click

        Dim xlApp As Excel.Application
        Dim wb As Workbook
        Dim strPath As String
        Dim i As Byte
        
        strPath = "C:\Vidu.xls"

         'DoCmd.RunMacro "Macro1"

        DoCmd.OutputTo acOutputReport, "R_BKHDBan_Excel", "MicrosoftExcelBiff8(*.xls)", strPath, False, "", , acExportQualityPrint
        
        Set xlApp = New Excel.Application
        Set wb = xlApp.Workbooks.Open(strPath)
        
        wb.Worksheets(1).Range("1:1").EntireRow.Delete  'Xóa dòng tiêu đề
        For i = 1 To 16
            wb.Worksheets(1).Rows("1:1").Insert Shift:=xlDown  'Chèn thêm vào 16 dòng
        Next i
        xlApp.Visible = True 'Hiện file excel lên
        Set wb = Nothing
        Set xlApp = Nothing

    Exit_Command3_Click:
        Exit Sub

    Err_Command3_Click:

        If Not xlApp Is Nothing Then
           xlApp.Quit
            Set xlApp = Nothing
        End If
        MsgBox Err.Description
        Resume Exit_Command3_Click
        
    End Sub

    -Access 2000,2003 không hỗ trợ Unicode khi dử dụng DoCmd.OutputTo nên bạn phải tạo một macro1 với Output file: C:\Vidu.xls sau đó thay DoCmd.OutputTo bằng DoCmd.RunMacro "Macro1"

    2-Xuất ra file đã có dữ liệu:
    VD dùng DAO:

    Mã:
    Private Sub Command4_Click()
    On Error GoTo Err_Command4_Click
        
        Dim rs As DAO.Recordset
        Dim XL As Excel.Application
        Dim wb As Workbook

        Set rs = CurrentDb.OpenRecordset("QryBKHDBan_Excel", dbOpenSnapshot)
        Set XL = CreateObject("Excel.Application")
        Set wb = XL.Workbooks.Open("C:\Vidu.xls")
        With wb
            .Worksheets(1).Range("A17").CopyFromRecordset rs
            .Worksheets(1).Columns.EntireColumn.AutoFit
            .Save
            .Close False
        End With

        Set rs = Nothing    
        Set wb = Nothing
        XL.Quit
        Set XL = Nothing


    Exit_Command4_Click:
        Exit Sub

    Err_Command4_Click:
        Set rs = Nothing
        If Not XL Is Nothing Then
            XL.Quit
            Set XL = Nothing
        End If
        
        MsgBox Err.Description
        Resume Exit_Command4_Click
    End Sub
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 21-03-14, 08:55 AM

    Cám ơn : MatTroiNguQuen
    Mình cũng không rành lắm về khoản này. Bạn có thể giúp mình demo được không ạ.


    Để trả lời chính xác cần thêm một vài thông tin cụ thể như:
    1-Bạn muốn xuất ra một file Excel mới hay ghi vào một file đã có dữ liệu? -> Ra file mới
    2-Phiên bản Access < =2000, 2000-2003, hay >= 2007 ? -> Access 2003
    3-Sao y report (nguyên định dạng) hay chỉ xuất dữ liệu từ nguồn của repot? -> Nguyên định dạng.

    Cám ơn bạn rất nhiều !
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    MTNQ > 21-03-14, 10:41 AM

    File của bạn dây:

    Demo XuatExcel.rar

    Nhớ sửa Output file: C:\Vidu.xls của Macro1 và strPath = "C:\Vidu.xls" trong thủ tục nút nhấn theo ý bạn nhé 015
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 21-03-14, 11:22 AM

    Không tải về được, bạn có thể gửi mail cho mình xin được không.
    doquanglam.bli@gmail.com
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    MTNQ > 21-03-14, 01:25 PM

    Đã gởi qua mail doquanglam.bli@gmail.com
    Mail của mình: mattroinguquen@yahoo.com
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 21-03-14, 03:08 PM

    Cám ơn MatTroiNguQuen
    Đúng theo yêu cầu rồi. Mình muốn thêm một chút nữa (Theo yêu cầu đã gửi lại mail cho bạn rồi)
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    MTNQ > 22-03-14, 01:48 AM

    Ẹc, đừng cảm ơn suông vậy chứ! Mình chỉ thích cái nút Thanks thui 014

    Mình cũng có hỗ trợ cho một số bạn qua mail nhưng nhận thấy bài của bạn không cần bảo mật riêng tư nên xin phép được đưa lên đây. Như vậy sẽ có giá trị chia sẻ tốt hơn. Chúng ta cùng bàn luận và đưa ra giải pháp tốt nhất.

    Theo như ví dụ mẫu gởi cho mình thì bạn muốn thêm số thứ tự và tính tổng số mẫu tin (số dòng) có trong mỗi nhóm đồng thời hai cột này có font color màu đỏ?

    Bạn xem ví dụ sau có đúng ý bạn không nhé:

    http://www.mediafire.com/download/4r9c3m...Excel2.rar
  • RE: Nhờ giúp đỡ code chuyển Reports sang Excel

    DoquangLam > 23-03-14, 07:32 AM

    Hì, màu đỏ để bạn biết là những gì mình cần thêm chứ không phải khi xuất sang Excel có chữ màu đỏ.
    Ý của mình là sau mỗi chỉ tiêu sau khi xuất sang Excel rồi thì chèn thêm 1 dòng và điền chữ "Tổng" vào dòng vừa điền đó (trên cột B), không cần tính tổng số tiền. Đồng thời chỉ tiêu nào có số liệu thì đánh số thứ tự luôn.

    Mục đích chuyển sang Excle đúng theo khuôn mẫu của Tổng cục thuế (Khỏi phải sửa lại) để đưa vào ứng dụng HTKK 007