• Báo cáo hàng ngang (Report có nhiều cột)
  • RE: Báo cáo hàng ngang

    maidinhdan > 10-04-15, 02:10 PM

    (10-04-15, 01:35 PM)ledangvan Đã viết: Cảm ơn maidinhdan, hôm qua mình đã tìm hiểu và cũng nắm được sơ bộ về tổng số cột trên trang. Mình còn một câu hỏi muốn hỏi thêm bạn là việc một công ty (đơn vị) có thể có 2 dữ liệu nằm trên hai cột (giống như ví dụ đầu tiên của mình : Số Năm trước, số năm nay) thì làm thế nào để thêm cột và thể hiện như ý muốn (ví dụ của File Excel)

    Post mẫu file Excel + Access lên minh xem.

    Ghi chú: Cách đây gần 5 năm bạn đã từng hỏi 1 câu tương tự như vậy. Tại sao qua thời gian dài như thế lại tiếp tục câu hỏi này nửa...

    Lúc ấy anh Noname cũng đã từng khuyên bạn nến xuất ra Excel sẽ dễ hơn cũng như mình khuyên bạn đó...Nó linh động hơn rất nhiều, kể cả đáp ứng luôn câu hỏi này đây.


    Mong bạn suy nghĩ lại.
  • RE: Báo cáo hàng ngang

    Xuân Thanh > 10-04-15, 03:15 PM

    1/ Thiết kế Report trong Access có số cột biến thiên là cực kỳ phức tạp trong viết code
    2/ Đưa báo cáo ra file Excel thì có thể tùy biến bao nhiêu cột cũng được. Cách làm là xuất ra một file Excel mới tốt hơn là ra file Excel có sẵn. Việc ghi tiêu đề cột cũng không có gì là khó khăn
    Thân mến
  • RE: Báo cáo hàng ngang

    ledangvan > 10-04-15, 07:23 PM

    (10-04-15, 02:10 PM)maidinhdan Đã viết:
    (10-04-15, 01:35 PM)ledangvan Đã viết: Cảm ơn maidinhdan, hôm qua mình đã tìm hiểu và cũng nắm được sơ bộ về tổng số cột trên trang. Mình còn một câu hỏi muốn hỏi thêm bạn là việc một công ty (đơn vị) có thể có 2 dữ liệu nằm trên hai cột (giống như ví dụ đầu tiên của mình : Số Năm trước, số năm nay) thì làm thế nào để thêm cột và thể hiện như ý muốn (ví dụ của File Excel)

    Post mẫu file Excel + Access lên minh xem.

    Ghi chú: Cách đây gần 5 năm bạn đã từng hỏi 1 câu tương tự như vậy. Tại sao qua thời gian dài như thế lại tiếp tục câu hỏi này nửa...

    Lúc ấy anh Noname cũng đã từng khuyên bạn nến xuất ra Excel sẽ dễ hơn cũng như mình khuyên bạn đó...Nó linh động hơn rất nhiều, kể cả đáp ứng luôn câu hỏi này đây.


    Mong bạn suy nghĩ lại.

    Đúng là mình đã hỏi câu hỏi này từ rất lâu và cũng đã nhận được file RptInstance.mdb và Noname cũng đã gợi ý xuất ra excel. Tuy nhiên vì nó chưa đúng ý mình lắm, vả lại mình đã từng nhìn thấy một phần mềm viết bằng Access làm được tương tự (Phần mềm này mình đã dùng từ năm 1998 - do anh Cường ở Đại học Bách khoa HN viết) tuy nhiên là chỉ biết dùng, nay mình muốn làm được tương tự nên đăng trên diễn đàn nhờ các cao thủ. Mình làm trên một Tổng công ty, có nhiều đơn vị thành viên, các đơn vị nộp báo cáo trên nhiều phương phức khác nhau, đơn vị nộp bằng excel, đơn vị nộp bằng word, đơn vị nộp bằng bản cứng in ra, đơn vị dùng phần mềm Access thì nộp bằng File access, vậy nên mình muốn làm một phần mềm tổng hợp từ Access cho có vẻ chuyên nghiệp 014 chứ đánh vào excel theo dạng cộng hàng ngang thì mình đã đánh rồi.

    Mong các bạn giúp đỡ, cái File RptInstance.mdb gần như đã giải quyết được phần phát triển hàng ngang như ý muốn nhưng nó mới thể hiện được mỗi công ty (đơn vị) một cột, mình muốn mỗi đơn vị được 2 cột (đầu năm và cuối kỳ) và tên đơn vị phải xuyên 2 cột. Ngu ý của mình các bạn đừng cười, chỉ mong mọi người giúp đỡ.
  • RE: Báo cáo hàng ngang

    maidinhdan > 10-04-15, 08:10 PM

    post data table or query lên đi, mình ngam cứu xem.
  • RE: Báo cáo hàng ngang

    tranthanhan1962 > 11-04-15, 01:39 AM

    Như bạn Xuân Thanh đã nói: thiết kế Report trong Access có số cột biến thiên là cực kỳ phức tạp trong viết code. mà mỗi ứng dụng có nhiều kiểu biến thiên khác nhau. Như thấy bạn có nhu cầu cao về việc này nên mình cố gắng trích từ phần mềm kế toán của mình gởi đến bạn xem có giúp vì được không?
    Mình cố gắng giới thiệu sơ qua để bạn có hướng nghiên cứu. Đây là cách mình dàn trang cho report sổ cái kế toán. Mỗi tháng số lượng tài khoản có khác nhau nên số cột của report cũng khác nhau. Tài khoản càng nhiều thì cột càng nhiều => Số lượng trang chiều ngang càng lớn.
    [Hình: rwnQW7M.png]
    Repor này có thể xử lý cho tối đa 44 tài khoản <=> 8 trang được xử lý thay đổi trang theo Form F_SOCAI kế hợp với các function socai_THAYDOI và code các trang report.

    Tháng 1 -> 16 tài khoản -> 4 trang
    Tháng 2 -> 14 tài khoản -> 4 trang
    Tháng 3 -> 11 tài khoản -> 3 trang
    Tháng 4 -> 0 tài khoản -> Không mở báo cáo
    Khi thay đổi số trang hàng ngang xuất hiện toolbar CONBC để xem trang hàng ngang và xử lý in ấn.

    [Hình: J88O71l.png]
    Hình toolbar CONBC khi có 4 trang. Trang 1 bị mờ có nghĩa là trang ngang ở vị trí số 1

    [Hình: rWWLnwY.png]
    Hình toolbar CONBC khi có 3 trang. Trang 3 bị mờ có nghĩa là trang ngang ở vị trí số 3

    Việc tăng giảm số trang do function socai_THAYDOI căn cứ trên textbox số lượng tài khoản trên Form F_SOCAI quyết định. Khi trang hiện hành nào xuất hiện sẽ nút mở trang đó trên toolbar CONBC bị mờ đi Enabled = False do code Report_Open của report xử lý. Thực là khó nói hết với bạn vì Thiết kế report là thiên biến vạn hóa. Như với cách làm này mình có thể bung số lượng trang chiều ngang bao nhiêu của được.Nhớ sau khi thiết kế ẩn đi những phần hỗ trợ để form gọi Report gọn và đẹp.

    [Hình: HFtU0gY.png]

    Hy vọng sẽ giúp ích được cho bạn.
    Demo
  • RE: Báo cáo hàng ngang

    ledangvan > 11-04-15, 09:38 AM

    (11-04-15, 01:39 AM)tranthanhan1962 Đã viết: Như bạn Xuân Thanh đã nói: thiết kế Report trong Access có số cột biến thiên là cực kỳ phức tạp trong viết code. mà mỗi ứng dụng có nhiều kiểu biến thiên khác nhau. Như thấy bạn có nhu cầu cao về việc này nên mình cố gắng trích từ phần mềm kế toán của mình gởi đến bạn xem có giúp vì được không?
    Mình cố gắng giới thiệu sơ qua để bạn có hướng nghiên cứu. Đây là cách mình dàn trang cho report sổ cái kế toán. Mỗi tháng số lượng tài khoản có khác nhau nên số cột của report cũng khác nhau. Tài khoản càng nhiều thì cột càng nhiều => Số lượng trang chiều ngang càng lớn.
    [Hình: rwnQW7M.png]
    Repor này có thể xử lý cho tối đa 44 tài khoản <=> 8 trang được xử lý thay đổi trang theo Form F_SOCAI kế hợp với các function socai_THAYDOI và code các trang report.

    Tháng 1 -> 16 tài khoản -> 4 trang
    Tháng 2 -> 14 tài khoản -> 4 trang
    Tháng 3 -> 11 tài khoản -> 3 trang
    Tháng 4 -> 0 tài khoản -> Không mở báo cáo
    Khi thay đổi số trang hàng ngang xuất hiện toolbar CONBC để xem trang hàng ngang và xử lý in ấn.

    [Hình: J88O71l.png]
    Hình toolbar CONBC khi có 4 trang. Trang 1 bị mờ có nghĩa là trang ngang ở vị trí số 1

    [Hình: rWWLnwY.png]
    Hình toolbar CONBC khi có 3 trang. Trang 3 bị mờ có nghĩa là trang ngang ở vị trí số 3

    Việc tăng giảm số trang do function socai_THAYDOI căn cứ trên textbox số lượng tài khoản trên Form F_SOCAI quyết định. Khi trang hiện hành nào xuất hiện sẽ nút mở trang đó trên toolbar CONBC bị mờ đi Enabled = False do code Report_Open của report xử lý. Thực là khó nói hết với bạn vì Thiết kế report là thiên biến vạn hóa. Như với cách làm này mình có thể bung số lượng trang chiều ngang bao nhiêu của được.Nhớ sau khi thiết kế ẩn đi những phần hỗ trợ để form gọi Report gọn và đẹp.

    [Hình: HFtU0gY.png]

    Hy vọng sẽ giúp ích được cho bạn.
    Demo

    Đúng là cách giải quyết của bạn rất phù hợp với suy nghĩ và mong muốn của mình, cảm ơn bạn đã giúp đỡ, mình sẽ nghiên cứu thêm, mình sẽ phát triển tiêu đề cột : Của bạn là mã số tài khoản - mình sẽ thành tên đơn vị, của bạn Nợ và có - mình sẽ thành Số đầu năm, số cuối kỳ.
    Một lần nữa cảm ơn bạn, cảm ơn diễn đàn, mình sẽ tạo báo cáo nếu thành công sẽ post lên cho mọi người cùng hiểu.
  • RE: Báo cáo hàng ngang

    tranthanhan1962 > 11-04-15, 10:30 PM

    (11-04-15, 09:38 AM)ledangvan Đã viết: Đúng là cách giải quyết của bạn rất phù hợp với suy nghĩ và mong muốn của mình, cảm ơn bạn đã giúp đỡ, mình sẽ nghiên cứu thêm, mình sẽ phát triển tiêu đề cột : Của bạn là mã số tài khoản - mình sẽ thành tên đơn vị, của bạn Nợ và có - mình sẽ thành Số đầu năm, số cuối kỳ.
    Một lần nữa cảm ơn bạn, cảm ơn diễn đàn, mình sẽ tạo báo cáo nếu thành công sẽ post lên cho mọi người cùng hiểu.

    Do trong thời gian ngắn. Mà mình trích ra từ phần mếm kế toán nên trong đó có nhiều dữ liệu thừa. Với công việc của bạn. Bạn chỉ cần tạo 1 field mã hoạt động công ty ở Danh sách công ty. Thiết kế thêm query lọc các công ty hoạt động, Table cập nhật mã các công ty hoạt động, Mã này khi được cập nhật thay đổi thẳng trên Danh sách công ty. Chỉ có phần tạo các query cho các trang report tuy nó giống nhau, chỉ thay đổi chút đỉnh nhưng do số lượng field lớn rất dễ bị nhằm, lộn bạn nên cẩn thận kiểm tra kỹ.
    Chúc bạn thành công.
  • RE: Báo cáo hàng ngang

    maidinhdan > 12-04-15, 10:18 PM

    (11-04-15, 09:38 AM)ledangvan Đã viết: Đúng là cách giải quyết của bạn rất phù hợp với suy nghĩ và mong muốn của mình, cảm ơn bạn đã giúp đỡ, mình sẽ nghiên cứu thêm, mình sẽ phát triển tiêu đề cột : Của bạn là mã số tài khoản - mình sẽ thành tên đơn vị, của bạn Nợ và có - mình sẽ thành Số đầu năm, số cuối kỳ.

    Một lần nữa cảm ơn bạn, cảm ơn diễn đàn, mình sẽ tạo báo cáo nếu thành công sẽ post lên cho mọi người cùng hiểu.

    Xin cảm ơn anh ledangvan trước. Khi nào thành công post demo lên để diễn đàn mình ngày càng phong phú.

    Hiếm thấy ai có câu nói như anh đó. 015

    Và cũng gửi lời cảm ơn chân thánh đến anh tranthanhan, một đàn anh đánh ngưởng mộ: em nhớ hoài câu nói của anh là "..ngồi lâu...gấu mẹ...gì đó...rất hay" hihi
  • RE: Báo cáo hàng ngang

    tranthanhan1962 > 13-04-15, 12:27 PM

    (12-04-15, 10:18 PM)maidinhdan Đã viết: Xin cảm ơn anh ledangvan trước. Khi nào thành công post demo lên để diễn đàn mình ngày càng phong phú.

    Hiếm thấy ai có câu nói như anh đó. 015

    Và cũng gửi lời cảm ơn chân thánh đến anh tranthanhan, một đàn anh đánh ngưởng mộ: em nhớ hoài câu nói của anh là "..ngồi lâu...gấu mẹ...gì đó...rất hay" hihi

    Hì hì, mình cũng thuộc loại dán mắt vô màn hình suốt nên trước đây bị một số bệnh "ngồi lâu" làm bà xã lo lắng. Giờ tập được thái cực quyền nên cũng ổn. Thank bạn007
  • RE: Báo cáo hàng ngang

    paulsteigel > 13-04-15, 02:20 PM

    Về chủ đề này, nếu tác giả cụ thể hóa yêu cầu mình sẽ giúp triển khai được ví dụ của bạn. Cái ví dụ report Instance mà mình chia sẻ trước đây là nói đến một tác dụng khác của việc thừa kế lớp của báo cáo, cùng một mẫu báo cáo nhưng hiển thị nhiều nguồn dữ liệu khác nhau.
    Chính vì điều đó nên phần code có hơi phức tạp để theo dõi.
    Với Access, việc triển khai xuất dữ liệu dạng cột như bạn nói chỉ hợp lý cho quá trình in ấn (đẹp mắt) nhưng không ổn thỏa với mục tiêu xuất dữ liệu.
    Nếu bắt buộc phải làm trong access thì những điều bạn cần tính tới là:
    Số cột dữ liệu tối đa trên 1 trang giấy là bao nhiêu?
    Dữ liệu gì là động, cái gì là tĩnh.
    Còn việc triển khai theo hàng ngang - có nhiều cách làm (vẽ trường cố định, dùng code ...vv) và cách trong ví dụ trên đây là một trong số những cách đó.