có lẽ bạn pvhung76 chưa nắm chắc các vấn đề về code, event, v.v... Thực ra việc này có thể xử lý bằng nhiều cách và rất đơn giản. Ở đây tôi sẽ đưa ra cụ thể bạn nhớ xử lý đúng properties và đúng cú pháp trong code. Các Name object có thể không giống như của bạn, bạn có thể đổi lại chính xác. Bạn có thể chọn cách nào phù hợp nhất với bạn.
Cách thứ nhất - Sử dụng một subform dùng chung: Tạo 1 mainform, 2 form lần lượt có name là Form1, Form2, trên mainform tạo 2 nút lệnh có name là MoSub1 để mở subform1 và MoSub2 để mở subform2, vẽ một subform đặt tên là SubForm. Cách này dùng để thay đổi SourceObject của subform theo yêu cầu.
Code:
Mã:
Private Sub MoSub1_Click()
SubForm.SourceObject = "Form1"
SubForm.Requery
End Sub
Private Sub MoSub2_Click()
SubForm.SourceObject = "Form2"
SubForm.Requery
End Sub
Cách thứ hai- Sử dụng hai subform: Tạo 1 mainform, 2 form lần lượt có name là Form1, Form2, trên mainform tạo 2 nút lệnh có name là MoSub1 để mở subform1 và MoSub2 để mở subform2, vẽ 2 subform: SubForm1 có SourceObject = Form1, SubForm2 có SourceObject = Form2, điều chỉnh cho 2 subform trùng khích lên nhau. Cách này để ẩn hiện subform theo yêu cầu
Code:
Mã:
Private Sub MoSub1_Click()
SubForm1.Visible = True
SubForm2.Visible = False
End Sub
Private Sub MoSub2_Click()
SubForm1.Visible = False
SubForm2.Visible = True
End Sub
Cách thứ ba- Sử dụng hai subform giống như cách thứ hai: Tạo 1 mainform, 2 form lần lượt có name là Form1, Form2, trên mainform tạo 2 nút lệnh có name là MoSub1 để mở subform1 và MoSub2 để mở subform2, vẽ 2 subform: SubForm1 có SourceObject = Form1, SubForm2 có SourceObject = Form2, điều chỉnh cho 2 subform trùng khích lên nhau. Cách này không làm ẩn subform mà mở rộng subform cần sử dụng theo yêu cầu và thu nhỏ khích thước subform không cần dùng nhỏ lại. Thông thường người ta không cho nó về diện tích 0, nhưng theo chủ đề này tôi mở rộng subform cần dùng và thu nhỏ subform còn lại về 0. Cách này cần sử dụng kích thước các subform.
Mã:
Private Sub MoSub1_Click()
SubForm1.Height = 5000
SubForm1.Width = 15000
SubForm2.Height = 0
SubForm2.Width = 0
SubForm1.SetFocus
End Sub
Private Sub MoSub2_Click()
SubForm1.Height = 0
SubForm1.Width = 0
SubForm2.Height = 5000
SubForm2.Width = 15000
SubForm2.SetFocus
End Sub