• Demo Hàm report tự canh đều chiều cao ( Không kẻ line))
  • Demo Hàm report tự canh đều chiều cao ( Không kẻ line))

    maidinhdan > 23-09-16, 05:11 PM

    Rãnh rỗi sinh nông nổi: Trước bài viết này đã có 01 bài viết về " Tạo report có chiều cao co dãn theo dữ liệu " và với cách này thì chúng ta phải vẽ line ( vẽ đường vẽ cho nó). Từ những trăn trở đó, tôi cố đã tổng hợp được 1 hàm tự động mà chẳng cần khéo tay hay kẻ từng đoạn để canh chỉnh chiều cao của cái report nửa.


    Demo_hàm cho report tự canh đều chiều cao theo chữ 

    Công dụng:
    - Tìm cột có độ cao cao nhất để lấy nó làm chuẩn để chỉnh các cột còn lại cân bằng theo

    Khả năng ứng dụng:
    - Ứng dụng để canh độ cao của report

    Hạn chế:
    - Chưa biết

    Code sử dụng:
    1. Hàm Điều chỉnh độ cao
    2. Hàm tìm chiều cao nhất của 1 dòng record

    Cách gọi sử dụng, như Hình minh họa:
    [Hình: rpCodantheodong.png]


    *************Chúng ta chỉ việc copy đoạn code sau vào bất kỳ report nào và thay vào đó là txt1, txt2, txt3 ( nhiều cột hơn thì cứ tạo thêm dòng dưới đó)
    *************Nhớ là cũng cần import cái modules nửa nhé


    Mã PHP:
    Private Sub Detail_Print(ByRef intCancel As IntegerByRef intPrintCount As Integer)
        Dim lm As Long
        lm 
    Hamchieucaonhat(acDetail)
        
        
    ' Dien ten cot can can bang do cao o duoi day: txt1, txt2, txt3
            Dieuchinhchieucao Me.txt1, lm, 0, 0, 0, 0, 0, vbRed
            Dieuchinhchieucao Me.txt2, lm, 0, 0, 0, 0, 0, vbGreen
            Dieuchinhchieucao Me.txt3, lm, 0, 0, 0, 0, 0, vbBlue
    End Sub


    Private Function Hamchieucaonhat(ByVal intSection As Integer) As Long
        Dim lngHeight  As Long
        Dim ctlControl As Control
        For Each ctlControl In Me.Section(intSection).Controls
            If ctlControl.ControlType = acTextBox Then
                If ctlControl.Height > lngHeight Then
                    lngHeight = ctlControl.Height
                End If
            End If
        Next ctlControl
        Hamchieucaonhat = lngHeight
    End Function 

    Lưu ý: nếu gặp lỗi dòng đầu tiên không hiện hết chữ thì chọn 3 Textbox đó và đi đến Properties/ dòng Back Style: Sửa chữ Solid thành Transparent
     
    Thân mến!

    Vui lòng để lại Email để nhận file không khóa pass VBA.
  • RE: Demo hàm cho report tự canh đều chiều cao

    kinggai > 23-09-16, 06:53 PM

    bac cho e xin pass vba: chomsaonhanma@gmail.com
  • RE: Demo hàm cho report tự canh đều chiều cao

    Nguyen Hoang Diep > 23-09-16, 07:56 PM

    Bác maidinhdan cho mình xin pass vba với nhé: diepmhb@yahoo.com
    Xin cảm ơn bác.
  • RE: Demo hàm cho report tự canh đều chiều cao

    maidinhdan > 23-09-16, 08:25 PM

    (23-09-16, 06:53 PM)kinggai Đã viết: bac cho e xin pass vba: chomsaonhanma@gmail.com

    (23-09-16, 07:56 PM)Nguyen Hoang Diep Đã viết: Bác maidinhdan cho mình xin pass vba với nhé: diepmhb@yahoo.com
    Xin cảm ơn bác.

    Đã gửi 2 email trên.
  • RE: Demo hàm cho report tự canh đều chiều cao

    toancvp > 23-09-16, 09:44 PM

    Bác Dân ơi, em đang cần cái này lắm, nhưng lại hơi khác 1 chút, bác có cách nào tùy biến được giúp em ko ạ?

    Em tính thiết kế 1 form lọc dữ liệu dùng Query làm SourceObject cho Subform, các dữ liệu này toàn là text nên cũng sẽ cần tự động điều chỉnh chiều cao của record cho phù hợp.

    Vì cái này là form chứ ko phải report nên chưa biết tùy biến ra sao, bác chỉ cách em với.
  • RE: Demo hàm cho report tự canh đều chiều cao

    maidinhdan > 24-09-16, 12:16 AM

    (23-09-16, 09:44 PM)toancvp Đã viết: Bác Dân ơi, em đang cần cái này lắm, nhưng lại hơi khác 1 chút, bác có cách nào tùy biến được giúp em ko ạ?

    Em tính thiết kế 1 form lọc dữ liệu dùng Query làm SourceObject cho Subform, các dữ liệu này toàn là text nên cũng sẽ cần tự động điều chỉnh chiều cao của record cho phù hợp.

    Vì cái này là form chứ ko phải report nên chưa biết tùy biến ra sao, bác chỉ cách em với.

    Code này không thể áp dụng cho co giản text trên form được.

    Để hiện text đối với textbox kiểu memo tức là quá nhiều chữ tạ dùng sự kiện DblClick

    Mã PHP:
    Private Sub Diachia_DblClick(Cancel As Integer)
    DoCmd.RunCommand acCmdZoomBox
    End Sub 


    Ở đây Diachi là ô tetxbox khi ta nhấn 2 lần vào ô Địa chỉ sẽ hiện 1 bản Zoom cho ta thấy hết.

    Thân!
  • RE: Demo hàm cho report tự canh đều chiều cao

    toancvp > 24-09-16, 01:33 PM

    Thế ạ big green, vâng ok bác, để em thử. Cũng tại vì ý tưởng thiết kế mới ở trong đầu chứ chưa bắt tay thực hiện nên chưa gấp rút tìm kiếm, bác thông cảm cho em big green. Em vẫn còn đang trong giai đoạn nghĩ nên thiết kế table như thế nào cho đúng ý tưởng.
  • RE: Demo hàm cho report tự canh đều chiều cao

    toancvp > 26-09-16, 12:30 AM

    Quên khuấy đi mất, bác Dân cho em xin pass VBA vào mail nhatki001@gmail.com với ạ.
  • RE: Demo hàm cho report tự canh đều chiều cao

    maidinhdan > 26-09-16, 12:45 AM

    (26-09-16, 12:30 AM)toancvp Đã viết: Quên khuấy đi mất, bác Dân cho em xin pass VBA vào mail nhatki001@gmail.com với ạ.

    Đã gửi
  • RE: Demo hàm cho report tự canh đều chiều cao

    toancvp > 26-09-16, 01:55 AM

    Bác ơi em làm không được rồi, em không biết cho vào event nào của form cho nó phù hợp được cả. Bác xem qua file này giúp em với ạ.

    https://drive.google.com/open?id=0B5rfqy...kI1U0NfX0k