-
Mở form mới thì đóng form đang mở
bằng lăng > 24-08-18, 03:42 PM
Cho mình hỏi mình tạo menu (menu toolbar) mở form 1 và form 2. Làm thế nào khi mình chọn menu mở form 2 thì đóng form 1 đã mở trước đó và ngược lại. Cám ơn các a/c -
RE: Mở form mới thì đóng form đang mở
Cuong Servenet > 24-08-18, 04:02 PM
chia sẻ cho bạn 1 cách mình hay sửa dụng.
Mod_share
[code]
Public Sub Open_frm(C_frm, O_frm)
DoCmd.SelectObject acForm, C_frm
DoCmd.Minimize
DoCmd.OpenForm O_frm, acNormal
End Sub
'-------------------------------------------------------------------------------------
' Forms Close
'-------------------------------------------------------------------------------------
Public Sub Close_frm(C_frm, O_frm)
DoCmd.Close acForm, C_frm
DoCmd.OpenForm O_frm, acNormal
DoCmd.SelectObject acForm, O_frm
DoCmd.Restore
End Sub
Public Function IsOpen(FN As String) As Integer
Dim i As Integer
IsOpen = False
'
For i = 0 To Forms.Count - 1
If Forms(i).name = FN Then
IsOpen = True
End If
Next
End Function
※form_menu
[code]
Private Sub NhanVien_Click()
Call Open_frm("Menu_main", "FRM_NhanVien)
End Sub
※nut dong Form nhan
Private Sub Dong_Click()
On Error GoTo Err_Dong_Click
Dim sForm As String
If IsOpen("MENU_Master") Then
sForm = "Menu_Main"
End If
'
Call Close_frm("FRM_NhanVien", sForm)
Exit_Dong_Click:
Exit Sub
Err_Dong_Click:
MsgBox ERR.Number & Chr(13) & Chr(10) & ERR.Description
Resume Exit_Dong_Click
End Sub -
RE: Mở form mới thì đóng form đang mở
ledangvan > 24-08-18, 04:17 PM
(24-08-18, 03:42 PM)bằng lăng Đã viết: Cho mình hỏi mình tạo menu (menu toolbar) mở form 1 và form 2. Làm thế nào khi mình chọn menu mở form 2 thì đóng form 1 đã mở trước đó và ngược lại. Cám ơn các a/c
Cơ bản nó không nằm ở menu mà nó nằm ở trong 2 cái Form bạn ah, khi mở Form1 trong thủ tục On Open hoặc On load ... bạn cho câu lệnh : DoCmd.Close acForm, "Form2"
Thêm một nút ở Form1 : Mở Form2 trong đó ghi câu lệnh : DoCmd.OpenForm "Form2"
Ở Form2 bạn ghi : trong thủ tục On Open hoặc On load ... bạn cho câu lệnh : DoCmd.Close acForm, "Form1"
Thêm một nút ở Form2 : Mở Form1 trong đó ghi câu lệnh : DoCmd.OpenForm "Form1"
http://www.mediafire.com/file/evt4vc1x3a...7.mdb/file -
RE: Mở form mới thì đóng form đang mở
bằng lăng > 27-08-18, 09:02 AM
Cám ơn Cuong Servenet và ledangvan rất rất nhiều[url=http://thuthuataccess.com/forum/user-3699.html][/url] -
RE: Mở form mới thì đóng form đang mở
bằng lăng > 27-08-18, 12:04 PM
Còn nếu mình viết code cho thoát form bất kỳ đang mở khi chọn trên menu cho mở 1 form mới thì sao ledangvan ạ, thay vì phải tên form cụ thể -
RE: Mở form mới thì đóng form đang mở
ongke0711 > 27-08-18, 01:48 PM
Dùng Screen.ActiveForm.Name nhé. Nó sẽ lấy tên Form này đang được kích hoạt trên màn hình.
Docmd.Close acForm, Screen.ActiveForm.Nam -
RE: Mở form mới thì đóng form đang mở
bằng lăng > 27-08-18, 03:11 PM
-
RE: Mở form mới thì đóng form đang mở
ongke0711 > 27-08-18, 04:24 PM
Bạn dùng cái hàm này để đóng tất cả Form đang mở. Trong hàm có thêm tham số tên Form nào không cần đóng.
Mã PHP:Function CloseOpenForms(Optional sUnCloseFormName As String)
Dim i As Integer
With Application.Forms
For i = .Count - 1 To 0 Step -1
With .Item(i)
If .Name <> sUnCloseFormName Then
DoCmd.Close acForm, .Name
End If
End With
Next i
End With
End Function
Ví dụ: bạn muốn đóng tất cả form đang mở ngoại trừ form tên "frmHome"
Private Sub cmdDongForm_Click
CloseOpenForms "frmHome"
End Sub -
RE: Mở form mới thì đóng form đang mở
bằng lăng > 27-08-18, 05:03 PM
(27-08-18, 04:24 PM)ongke0711 Đã viết: Bạn dùng cái hàm này để đóng tất cả Form đang mở. Trong hàm có thêm tham số tên Form nào không cần đóng.
Mã PHP:Function CloseOpenForms(Optional sUnCloseFormName As String)
Dim i As Integer
With Application.Forms
For i = .Count - 1 To 0 Step -1
With .Item(i)
If .Name <> sUnCloseFormName Then
DoCmd.Close acForm, .Name
End If
End With
Next i
End With
End Function
Ví dụ: bạn muốn đóng tất cả form đang mở ngoại trừ form tên "frmHome"
Private Sub cmdDongForm_Click
CloseOpenForms "frmHome"
End Sub
Mã PHP gõ vào chỗ nào và sub gõ vô đâu Ongke0711. PHP mình bó tay chưa nghiên cứu đến, mình đang nghiên cứu code hà -
RE: Mở form mới thì đóng form đang mở
ongke0711 > 27-08-18, 05:19 PM
Cái từ "Mã PHP" là cái khung để dán các code VBA vào cho dễ nhìn trên trang diễn đàn thôi chứ có phải mã PHP trong ứng dụng của bạn đâu.
- Bạn copy đoạn code của hàm CloseOpenForms() trên vào module bất kỳ hoặc vào Form module mà bạn đang xử lý cũng được.
- Còn cái Sub là sự kiện nút lệnh nào mà bạn muốn bấm vô để đóng các Form đó.