Nhờ tư vấn vẽ sơ đồ cây (Gia phả) bằng VBA (3 người xem)

  • Thread starter Thread starter LinDan
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

LinDan

Thành viên tiêu biểu
Tham gia
8/2/12
Bài viết
412
Được thích
111
Cái khó nhất của em được họ giao là vẽ sơ đồ (dạng hình cây) cho khoảng gần 50 đời; căn cứ mẫu cũ lập bằng tay đã mờ thì khổ giấy cần vẽ to gần bằng 2 lần khổ A0 (xấp xỉ bằng cái bảng đen lớp học). Em băn khoăn không biết VBA có thể tự động vẽ sơ đồ hay không? (Đại để hình như dưới).

Sodo_zpsc361e621.jpg


Nếu được xin hướng dẫn dùm cách làm hoặc tư vấn em phần mềm gì đó có thể thỏa mãn các điều kiện trên (kể cả cách bố trí dữ liệu thô lại sao thực hiện được khoa học nhất).
 
Tôi cũng đang nghĩ về vấn đề này, nhưng kể ra cũng lằng nhằng nếu chỉ sử dụng bảng tính thuần túy! Có thể sử dụng Treeview nhưng lên đến 50 đời thì không đơn giản. Có lẽ tách ra từng đời và sử dụng phương pháp đơn giản Hyperlink để liên kết các đời thôi.
 
Lần chỉnh sửa cuối:
Tôi cũng đang nghĩ về vấn đề này, nhưng kể ra cũng lằng nhằng nếu chỉ sử dụng bảng tính thuần túy! Có thể sử dụng Treeview nhưng lên đến 50 đời thì không đơn giản. Có lẽ tách ra từng đời và sử dụng phương pháp đơn giản Hyperlink để liên kết các đời thôi.

Đó chính là cái khó nhất anh ah, yêu cầu bắt buộc của các cụ là muốn dùng phần mềm gì thì tùy nhưng miễn phải thể hiện được đầy đủ Sơ đồ tổng thể khổ lớn (em đang nghĩ đến Autocad chắc chắn nó làm được nhưng hơi mất thời gian).

Sở dĩ em định làm trong Excel là bởi nó có thể tự động được nhiều công đoạn, mặt khác ngoài Sơ đồ tổng thể chính thì ý muốn của các cụ nếu có thể nên có thiết kế thêm (tạm gọi là Sổ phụ) trong đó có cả thông tin về nữ nữa. Chẳng hạn, khi chỉ chuột vào ông Nguyễn Văn A lập tức nó có các thông tin chính gồm các con (kể cả nam và nữ); đối với nam thì nó đã có trên sơ đồ tổng thể rồi, riêng về nữ chỉ dừng lại ở các thông tin như lấy chồng ở đâu thôi (để sau này dễ tra cứu, tìm kiếm).

Em nghĩ khó nhất là làm sao cho VBA nó hiểu để vẽ, chứ in ra khổ lớn thì không khó lắm (Vì đồ án của các trường kỹ thuật toàn in khổ A0 mà).

----
Hic hic ...Em cũng đã đọc một số bài viết trên diễn đàn nhưng chưa tìm ra hướng, định chia nhỏ theo từng chi ra nhưng các cụ bảo chẳng lẽ vẽ tay được mà máy tính thì lại chịu?
 
Lần chỉnh sửa cuối:
Đó chính là cái khó nhất anh ah, yêu cầu bắt buộc của các cụ là muốn dùng phần mềm gì thì tùy nhưng miễn phải thể hiện được đầy đủ Sơ đồ tổng thể khổ lớn (em đang nghĩ đến Autocad chắc chắn nó làm được nhưng hơi mất thời gian).

Sở dĩ em định làm trong Excel là bởi nó có thể tự động được nhiều công đoạn, mặt khác ngoài Sơ đồ tổng thể chính thì ý muốn của các cụ nếu có thể nên có thiết kế thêm (tạm gọi là Sổ phụ) trong đó có cả thông tin về nữ nữa. Chẳng hạn, khi chỉ chuột vào ông Nguyễn Văn A lập tức nó có các thông tin chính gồm các con (kể cả nam và nữ); đối với nam thì nó đã có trên sơ đồ tổng thể rồi, riêng về nữ chỉ dừng lại ở các thông tin như lấy chồng ở đâu thôi (để sau này dễ tra cứu, tìm kiếm).

Em nghĩ khó nhất là làm sao cho VBA nó hiểu để vẽ, chứ in ra khổ lớn thì không khó lắm (Vì đồ án của các trường kỹ thuật toàn in khổ A0 mà).

----
Hic hic ...Em cũng đã đọc một số bài viết trên diễn đàn nhưng chưa tìm ra hướng, định chia nhỏ theo từng chi ra nhưng các cụ bảo chẳng lẽ vẽ tay được mà máy tính thì lại chịu?

Vẽ được, quan trọng bạn bố trí dữ liệu thế nào cho hợp lý thôi - nên tham khảo các database phả hệ thì người ta làm quan hệ thế nào - chứ bố trí theo số 1.1.2, 1.2.3,.. thế thì 50 đời có mà dài lém và luận cũng khó, (thêm vào đó là chưa có thông tin nam nữ nhé) rui bàn tiếp

ở đây chỉ đề cập việc vẽ:

bạn ghi macro vẽ 1 hình chữ nhật và thêm chữ vào ---> sẽ hiểu, tiếp tục ghi macro vẽ vài thế hệ thì sẽ hiểu vị trí thế nào
Sau đó thì thuật toán về không gian vẽ thôi

Nếu làm bằng AutoCAD có thể nhanh đẹp hơn, cả hiển thị lẫn khi in ấn
 
Lần chỉnh sửa cuối:
Phần mềm "Agelong Tree" chuyên để tạo cây phả hệ.

Cái khó nhất của em được họ giao là vẽ sơ đồ (dạng hình cây) cho khoảng gần 50 đời; căn cứ mẫu cũ lập bằng tay đã mờ thì khổ giấy cần vẽ to gần bằng 2 lần khổ A0 (xấp xỉ bằng cái bảng đen lớp học). Em băn khoăn không biết VBA có thể tự động vẽ sơ đồ hay không? (Đại để hình như dưới).

Sodo_zpsc361e621.jpg


Nếu được xin hướng dẫn dùm cách làm hoặc tư vấn em phần mềm gì đó có thể thỏa mãn các điều kiện trên (kể cả cách bố trí dữ liệu thô lại sao thực hiện được khoa học nhất).

Hi!
Bạn có thể dùng phần mềm "AgeLongTree" để tạo cây phả hệ rất tốt.
Tôi đã làm thử và thấy nó tạo cây phả hệ rất phù hợp với VN.
Hơn nữa việc quản lý thông tin, xuất thông tin cũng tốt.

Trang chủ của nó đây: http://www.genery.com/

Hoặc có thể tham khảo theo link: http://www.vn-zoom.com/f88/megashar...-1-thiet-lap-gia-pha-cua-dong-ho-1059001.html
 
Lần chỉnh sửa cuối:
cái vụ này theo tôi làm trên excel thì rất khó đạt được mục đích là vẽ tổng thể 50 đời (rất là dài và to)...vì vậy theo tôi nên dùng phần mềm Autocad, cái này vẽ cả ngàn đời cũng ko hết....nhưng làm rất mắt thời gian. Hiện nay đã có nhiều phần mềm vẽ gia phả trên mạng, các bạn nên tải về làm...vd: AKB gia phả...v.v.../-*+/
 
Cái khó nhất của em được họ giao là vẽ sơ đồ (dạng hình cây) cho khoảng gần 50 đời; căn cứ mẫu cũ lập bằng tay đã mờ thì khổ giấy cần vẽ to gần bằng 2 lần khổ A0 (xấp xỉ bằng cái bảng đen lớp học). Em băn khoăn không biết VBA có thể tự động vẽ sơ đồ hay không? (Đại để hình như dưới).

Sodo_zpsc361e621.jpg


Nếu được xin hướng dẫn dùm cách làm hoặc tư vấn em phần mềm gì đó có thể thỏa mãn các điều kiện trên (kể cả cách bố trí dữ liệu thô lại sao thực hiện được khoa học nhất).

Ý tưởng: Dùng giải thuật đệ quy để tổ chức.

1. Tổ chức data hình cây đơn giản:
- Mỗi người một mã số
- Mỗi mã số luôn có một mã số "cha"
Ví dụ:

A1_______A2____________A3_______A4
Mã số____Tên___________MS CHA__Tên cha

MS1234 : Nguyễn Văn B1 : MS1230 : Nguyễn Văn A
MS1235 : Nguyễn Văn B2 : MS1230 : Nguyễn Văn A
MS1335 : Nguyễn Văn C1 : MS1234 : Nguyễn Văn B1
MS1336 : Nguyễn Văn C2 : MS1234 : Nguyễn Văn B1

2. Dùng giải thuật đệ quy truy xuất dọc (Sắp xếp CÂY theo chiều dọc)

3. Thích thì dùng CÂY để vẽ lại sơ đồ bạn muốn.

Ghi chú của người viết: Nhờ các chuyên gia khác đóng góp thêm ý tưởng và viết giúp. Cảm ơn
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom