• Summary bằng VBA trong MS Access.
  • Summary bằng VBA trong MS Access.

    MinhnHang > 03-11-16, 10:04 AM

    Em gửi Anh/Chị file đính kèm.

    Và kính nhờ Anh/Chị hướng dẫn em làm report Summary2 như Summary hoàn toàn bằng VBA.

    Ý em là: Tất cả các Control Source cho textbox là bằng VBA, tính toán đầy đủ và in ra kết quả như Summary.

    Em cảm ơn Anh/Chị nhiều ạ!

    Download file ở đây ạ.
  • RE: Summary bằng VBA trong MS Access.

    cpucloi > 03-11-16, 08:22 PM

    Admin khóa nick này lại, quảng cáo cho Giaiphapexcel rồi kìa ................... big green
  • RE: Summary bằng VBA trong MS Access.

    MinhnHang > 04-11-16, 03:41 PM

    (03-11-16, 08:22 PM)cpucloi Đã viết: Admin khóa nick này lại, quảng cáo cho Giaiphapexcel rồi kìa ................... big green

    Ông bạn chỉ tôi cách upload file vào trang này với.....

    Thanks!
  • RE: Summary bằng VBA trong MS Access.

    maidinhdan > 04-11-16, 05:10 PM

    (04-11-16, 03:41 PM)MinhnHang Đã viết:
    (03-11-16, 08:22 PM)cpucloi Đã viết: Admin khóa nick này lại, quảng cáo cho Giaiphapexcel rồi kìa ................... big green

    Ông bạn chỉ tôi cách upload file vào trang này với.....

    Thanks!

    Hôm qua mình nhớ có viết trả lời bài này rồi, thôi trả lời 1 lần nửa vậy

    1. Các ô công thức không đồng nhất nên không thể dùng code VBA sử dụng vòng lặp để duyệt và đưa vào các ô textbox được.

    2. Nếu bạn đưa vào 1 ô công thức sẽ viết ra thêm 3 dòng code

    * Kết luận : Cứ để như cái report Summary là ok nhất

    Thân mến!
  • RE: Summary bằng VBA trong MS Access.

    MinhnHang > 05-11-16, 08:51 AM

    (04-11-16, 05:10 PM)maidinhdan Đã viết:
    (04-11-16, 03:41 PM)MinhnHang Đã viết:
    (03-11-16, 08:22 PM)cpucloi Đã viết: Admin khóa nick này lại, quảng cáo cho Giaiphapexcel rồi kìa ................... big green

    Ông bạn chỉ tôi cách upload file vào trang này với.....

    Thanks!

    Hôm qua mình nhớ có viết trả lời bài này rồi, thôi trả lời 1 lần nửa vậy

    1. Các ô công thức không đồng nhất nên không thể dùng code VBA sử dụng vòng lặp để duyệt và đưa vào các ô textbox được.

    2. Nếu bạn đưa vào 1 ô công thức sẽ viết ra thêm 3 dòng code

    * Kết luận : Cứ để như cái report Summary là ok nhất

    Thân mến!

    Chuyện thế này: Dùng repSummary thì em đã vừa lòng với các công thức "oánh thẳng vào từng textbox".

    Em có mong muốn được học thêm miếng nữa là dùng VBA cho nó "oai hơn" và bổ túc thêm kiến thức VBA ạ.

    Thanks All!
  • RE: Summary bằng VBA trong MS Access.

    ongke0711 > 07-11-16, 08:41 PM

    Có một cách khác cho bạn là dùng Unbound Report. Khi report load lên sẽ gán Control Source cho từng textbox trong report cũng như gán Record Source cho Report này.
    - Các công thức bạn gán cho textbox hiện tại , bạn đưa nó vào Query tính trước hết luôn. 
    Ví dụ: trong qryLuongThangAll, bạn thêm 1 trường đặt tên là SoLuongCB: IIF(Count([BPhan])=0,"-",Count([BPhan])). Trường [SoLuongCB] sẽ làm Control Source cho textbox “txtSLCB_BP” v.v.. (ở section Detail)
    - Các textbox ở phần Section Group thì bạn buộc phải làm trong Report vì có công thức Sum (cùng bộ phận).
    - Sau khi thiết kế đầy đủ số liệu cho Report thì bạn sẽ tiến hành gán Record Source cho report và các textbox.
    - Code cho sự kiện Report_Load: Call GanDuLieu
    - Code của Sub GanDuLieu như sau:
    ----------------------------------------------
    Private Sub GanDuLieu()
        Me.RecordSource = “qryLuongThangAll”

        Me.txtSLCB_BP.ControlSource = “SoLuongCB
        Me.txtNgayCong_BP.ControlSource = “NgayCongCB”
        ...

    End Sub

    Private Sub Report_Load()
        Call GanDuLieu
    End Sub
    ------------------------------------------
  • RE: Summary bằng VBA trong MS Access.

    MinhnHang > 08-11-16, 08:36 AM

    (07-11-16, 08:41 PM)ongke0711 Đã viết: Có một cách khác cho bạn là dùng Unbound Report. Khi report load lên sẽ gán Control Source cho từng textbox trong report cũng như gán Record Source cho Report này.
    - Các công thức bạn gán cho textbox hiện tại , bạn đưa nó vào Query tính trước hết luôn. 
    Ví dụ: trong qryLuongThangAll, bạn thêm 1 trường đặt tên là SoLuongCB: IIF(Count([BPhan])=0,"-",Count([BPhan])). Trường [SoLuongCB] sẽ làm Control Source cho textbox “txtSLCB_BP” v.v.. (ở section Detail)
    - Các textbox ở phần Section Group thì bạn buộc phải làm trong Report vì có công thức Sum (cùng bộ phận).
    - Sau khi thiết kế đầy đủ số liệu cho Report thì bạn sẽ tiến hành gán Record Source cho report và các textbox.
    - Code cho sự kiện Report_Load: Call GanDuLieu
    - Code của Sub GanDuLieu như sau:
    ----------------------------------------------
    Private Sub GanDuLieu()
        Me.RecordSource = “qryLuongThangAll”

        Me.txtSLCB_BP.ControlSource = “SoLuongCB
        Me.txtNgayCong_BP.ControlSource = “NgayCongCB”
        ...

    End Sub

    Private Sub Report_Load()
        Call GanDuLieu
    End Sub
    ------------------------------------------

    Cảm ơn ongke0711 và em thử nghiệm lời anh gợi ý.

    Thanks!