Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Mở form mới thì đóng form đang mở
#1
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
Chữ ký của bằng lăng bằng lăng,gia nhập Thủ Thuật Access từ 06-08 -18.
Reply
Những người đã cảm ơn
#2
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
Chữ ký của Cuong Servenet Cuong Servenet,gia nhập Thủ Thuật Access từ 12-07 -18.
ღღღღღTài sản của Cuong Servenet (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(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
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn bằng lăng
#4
Cám ơn Cuong Servenet và ledangvan rất rất nhiều[url=http://thuthuataccess.com/forum/user-3699.html][/url]
Chữ ký của bằng lăng bằng lăng,gia nhập Thủ Thuật Access từ 06-08 -18.
Reply
Những người đã cảm ơn
#5
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ể
Chữ ký của bằng lăng bằng lăng,gia nhập Thủ Thuật Access từ 06-08 -18.
Reply
Những người đã cảm ơn
#6
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
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tieu_ngao
#7
(27-08-18, 01:48 PM)ongke0711 Đã viết: 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.Name

Nhưng nếu chưa có form nào được mở trước đó thì báo lỗi, không thực thi được lệnh Ongke0711 ơi.
Chữ ký của bằng lăng bằng lăng,gia nhập Thủ Thuật Access từ 06-08 -18.
Reply
Những người đã cảm ơn
#8
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
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#9
(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à 040
Chữ ký của bằng lăng bằng lăng,gia nhập Thủ Thuật Access từ 06-08 -18.
Reply
Những người đã cảm ơn
#10
007
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 đó.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tieu_ngao


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Gán macro vào form là form bị lỗi cannguyen 1 125 01-12-18, 10:03 AM
Bài mới nhất: cannguyen
  [Hỏi] Cách tạo form chấm công theo tháng vuthaiha90 4 262 29-11-18, 07:41 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] Textbox Search và sửa ngay trên Form vuthaiha90 1 248 22-11-18, 04:28 PM
Bài mới nhất: lamvankhanh
  [Hỏi] Cách tạo Cbo để lọc các mặt hàng trong Sub Form samacxanh 3 345 17-10-18, 10:33 AM
Bài mới nhất: vulhu06
  [Help] Điều khiển 1 form từ form khác tranthanhan1962 2 275 30-09-18, 05:57 PM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line| Phần mềm quản lý bán hàng, công nợ- tồn kho- nhà phân phối