Cùng xây dựng file Gia Phả

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình đang xây dựng file Gia Phả trên Excel. Về cơ bản đã xong phần thô nhưng do chưa biết nhiều về Gia Phả nên chưa biết trình bày như thế nào cho đầy đủ và phù hợp.

Mình post lên đây mong các anh chị và các bạn quan tâm cùng nhau xây dựng và hoàn thiện nó. Tất cả mọi người quan tâm đều có thể tham gia đóng góp xây dựng mà không nhất thiết phải biết về VBA. Ví dụ như:
– Trình bày như thế nào cho phù hợp và thẩm mỹ
– Cấu trúc Gia phả cần có những gì, cần bổ sung những thông tin nào, thông tin nào thừa cần bỏ bớt
– Sửa code để cải thiện tốc độ
– …

Pass VBA: huuthang_bd

www.giaiphapexcel.com/diendan/threads/c%C3%B9ng-x%C3%A2y-d%E1%BB%B1ng-file-gia-ph%E1%BA%A3.88861/

Học Nhân sự Tổng hợp – Trở thành chiến binh nhân sự vững nghiệp vụ
Khóa học SprinGO phù hợp

Học Nhân sự Tổng hợp – Trở thành chiến binh nhân sự vững nghiệp vụ

Con người là một trong những yếu tố quan trọng của công ty, là tài sản quý giá của doanh nghiệp. Chính vì thế,...

Xem khóa học
★★★★★ 5 ★ 1 👤 2 ▥ 0
Quảng cáo

Bạn nên đọc

2 Responses

  1. hands says:

    Hi Thắng,
    Anh ước tính sẽ có nhiều vấn đề lắm, nhưng không tự mình trực tiếp làm nên không dám góp ý nhiều vì mỗi góp ý có thể gây ra nhiều rắc rối hơn anh hình dung.

    Một vài góp ý của anh như thế này:
    1. Mã số cá nhân không nên theo dạng như vậy, dù rằng có thể dể nhận diện người trong phả hệ nhưng sẽ rắc rối về sau khi câu phả hệ nhiều lên. Theo anh cứ đặt theo mã thứ tự tăng dần. Việc xác định vị trí trong phả hệ thuộc về các mối quan hệ.
    2. Không nên xây dựng sẳn cây phả đồ.
    3. Dữ liệu chia ra thành 2 bảng: 1 bảng về thông tin cá nhân, một bảng về thông tin quan hệ.

    Em chưa hiểu ý anh lắm.
    1. Mã số cá nhân em xây dựng gồm 2 phần phân cách bằng ký tự "_" theo nguyên tắc sau:
    – Phần 1 (trước ký tự "_") mỗi đời là 2 ký tự, mã số của con bằng mã số của cha (mẹ) và 2 ký tự thể hiện người đó là con thứ mấy.
    – Phần 2 (sau ký tự "_") gồm 3 ký tự. Nếu ký tự đầu là H thì đó là người trong tộc, ngược lại ký tự đầu là N thì người đó là dâu hoặc rể. Hai ký tự sau: nếu ký tự đầu là H thì cho biết người đó là con của vợ (hoặc chồng) thứ mấy của cha (hoặc mẹ); nếu ký tự đầu là N thì cho biết đó là vợ (hoặc chồng) thứ mấy.
    Ví dụ:
    Một người có mã số 010101_H02 là con đầu của người 0101 và người này là con của vợ 2 (hoặc chồng 2)
    Vợ 1 (hoặc chồng 1) của người này sẽ có mã số 010101_N01
    Vợ 2 (hoặc chồng 2) của người này sẽ có mã số 010101_N02

    Con đầu của người này sẽ có mã số 01010101_H01 nếu là con của vợ 1 (hoặc chồng 1), hoặc 01010101_H02 nếu là con của vợ 2 (hoặc chồng 2)
    Con thứ hai của người này sẽ có mã số 01010102_H01 nếu là con của vợ 1 (hoặc chồng 1), hoặc 01010102_H02 nếu là con của vợ 2 (hoặc chồng 2)

    Em chưa hiểu cách đặt mã số theo thứ tự tăng dần anh nói.

    2. Khi nào thay đổi dữ liệu thì đã có nút Vẽ phả đồ để người dùng vẽ lại mà. Vẫn chưa hiểu ý anh khi người dùng muốn xem phả đồ thì xem ở đâu.

    Do anh chỉ mô tả nên em chưa hiểu ý anh lắm.

    Hi Thắng,

    1. Vụ mã số thì theo anh nếu em chèn vào các mối quan hệ thì càng ngày càng mệt.
    2. Ý tưởng vẻ phả đồ và bảng quan hệ của anh trong file.

    Xin góp 1 vài ý như sau:

    1- Ngày mất là ngày giỗ vì vậy trong cơ sở dữ liệu nên bỏ cột ngày giỗ. Khi tra ngày giỗ thì lấy ngày mất bỏ năm đi là được.

    2- Thực tế trong 1 gia đình (bố mẹ, anh em) có khi đã mỗi người ở một nơi nên việc cập nhật đầy đủ thông tin cả 1 dòng họ vào 1 trang là không đơn giản. Vì vậy tôi đã từng nghĩ đến việc mỗi gia đình để 1 file khi tra đến người nào thì tùy theo lựa chọn mà tìm đến các file có mối quan hệ liên quan Ví dụ tìm người trong cành, chi của "người muốn xem" hoặc tìm từ đời của "người muốn xem" trở về trước hoặc trở về sau hoặc đến đời nào đó…

    3- Về mã số thì đánh theo đời (hàng), theo cành, chi… (cành cả, cành 2, cành 3 …). Ví dụ: Cụ tổ có mã là 01 sinh ra 3 người con thì mã số của các con sẽ là 02.01; 02.02; 02.03… (sô 02 đầu là đời thứ 2, số 01, 02, 03 là cành 1, cành 2, cành 3) các cháu của người con thứ nhất (đời thứ 3, cành 1) là 03.01.01; 03.01.02…các cháu của người con thứ hai (đời thứ 3, cành 2) là 03.02.01; 03.02.02… Tức là mã số phải nói lên được vị trí của người đó trong dòng họ.

    Thực sự tôi là người xa xứ nên không biết nhiều về họ tộc cũng như gia phả vì vậy xin mạo muội tham gia mấy ý (dù đúng hay sai cũng xin không tranh luận).

    hi anh Trungchinhs
    1. Thường thì ghi nhận ngày mất là ngày dương lịch, còn ngày giỗ là ngày âm lịch nên mới có chuyện 2 cột như vậy.
    2. Đó là lý do em nghĩ nên vẽ lại cây phả đồ. Cũng là cách làm em ví dụ trong file của em.

    Cảm ơn ý kiến đóng góp của mọi người. Em có một số ý kiến sau:
    1. Gộp ngày mất và ngày giỗ: Có những trường hợp không xác định được ngày mất nhưng người ta vẫn chọn một ngày nào đó để làm giỗ nên em nghĩ việc để riêng ngày mất và ngày giỗ là cần thiết.

    2. Phả đồ theo hướng của anh Bình gọn nhưng chỉ xem được 3 đời. Em nghĩ nhiều người muốn xem tổng quát cả dòng họ nên em nghĩ vệc vẽ phả đồ cho cả dòng họ là một nhu cầu cần thiết.

    3. Thêm một sheet QuanHe để quản lý các mối quan hệ như anh Bình là cách hay. Tuy nhiên, nếu bỏ sự liên kết các mối quan hệ trong mã số thì sẽ không xác định được mỗi người con là con của vợ thứ mấy. Trong mã số của em chỉ thể hiện mối quan hệ giữa 2 đời nên em nghĩ dữ liệu ít hay nhiều em nghĩ cũng không ảnh hưởng gì.

  2. hands says:

    File của bạn làm rất kì công.
    Mình xin góp ý về phần hướng dẫn sử dụng. Phần Help đưa vào 1 sheet như thế trông xấu tệ. Bạn thử cách khác ví dụ như Dialog sheet mà bạn ndu đã làm (mượn file bạn ndu để chế biến, mong bạn thông cảm)
    https://www.giaiphapexcel.com/forum/showthread.php?85172-Nh%E1%BB%9D-t%C6%B0-v%E1%BA%A5n-thi%E1%BA%BFt-k%E1%BA%BF-C%E1%BB%ACA-S%E1%BB%94-HELP

    Sub ShowHelp()
      Dim dlg As DialogSheet
      Set dlg = ThisWorkbook.DialogSheets("Help")
      dlg.Show
    End Sub

    2082

    Thì tôi nói là mới chỉ làm xong phần thô thôi mà. Phần trình bày còn cần phải chỉnh sửa nhiều.
    Cảm ơn phần đóng góp của bạn

    Xin được góp ý

    1) Khi chọn nút cmb_PhaDo trong Form Frm_TruyXuatTT thì nên tô màu nền cho người được tìm thấy cho dễ nhận biết. Hiện tại rất khó nhìn. VD như thế này chẳng hạn

    Private Sub Cmb_PhaDo_Click()
    Dim FRng As Range
    Set FRng = PhaDo.Cells.Find(Me.Lbl_MaSo.Caption, , xlFormulas, xlWhole)
    If FRng Is Nothing Then
        MsgBox "Khong tim thay"
    Else
        Unload Me
        Unload Frm_TimKiem
        PhaDo.Select
    [COLOR=#0000cd]    PhaDo.UsedRange.Interior.ColorIndex = 2
        FRng.Offset(-1).Select
        Selection.Interior.ColorIndex = 6[/COLOR]
    End If
    End Sub

    Đương nhiên khi chọn người khác để xem thông tin thì phải trả lại màu cho người vừa chọn.

    2) Có thể bổ xung cmb trong Form Frm_ThongTinsobo để vẽ phả đồ với gốc là từ 1 người nào đó không
    2083
    Ví dụ khi chọn Tèo Văn Tây sẽ hiện lên bảng thông tin sơ bộ về người này và có 1 cmb để vẽ NHÁNH phả đồ của người này (nhu cầu xem như thế này chắc chắn là có).
    Chưa nghĩ ra cách sửa.
    Mong mọi người đóng góp thêm để hoàn thiện file của huuthang_bd

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm