Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Ẩn form a và hiện form b (đều có popup và modal)
#21
Vậy không phải là ở textpass khi bạn keydown thì nó SetFocus cho chính nó à? SetFocus từ cái dangnhap_click bạn gọi đó.
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
#22
đúng là gọi setforcus từ dangnhap_click. Nhưng mà theo cách của bạn thì nó vẫn ko có tác dụng. Xin phép nói thêm là khi ấn nút enter ở txtpass thì mình cho gọi dangnhap_click.
Tại dangnhap_click này check nếu txtpass là null thì cho setforcus vào txtpass.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#23
Thì bạn cho SetFocus vô 1 textbox khác rồi mới vô txxtpass.
Chú ý textbox để null khác với bạn delete nội dung nó nên bạn bẫy Nz không chưa đủ đâu.
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
#24
http://www.mediafire.com/file/4w651kc3sz...9.mdb/file
Mình làm theo hướng dẫn rồi nó vẫn ko forcus vào txtpass khi call dangnhap_click ban à.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#25
Bạn quên đoạn : KeyCode=0

Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then
        KeyCode = 0
        Me.Command2.SetFocus
        Call Command2_Click
    End If
End Sub

- Thiết lập thuộc tính Form - Key Preview=Yes
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 mrsiro
#26
(26-08-18, 12:23 PM)ongke0711 Đã viết: Một góp ý khác về logic xử lý của bạn. Tôi thì hay dùng cách này:
Khi mở form Login sẽ kiểm tra bản quyền, nếu hợp lệ thì tiếp tục Load form Login, nếu không thì đóng nó lại mở Form "Đăng ký bản quyền". Đơn giản vậy thôi

Private Sub Form_Open(Cancel As Integer)
    If CoBanQuyen = False Then
        DoCmd.OpenForm "Form2", , , , , acDialog
        DoCmd.Close acForm, Me.Name
    Else
        'Tiep tục load form
    End If
End Sub

(26-08-18, 01:31 PM)ongke0711 Đã viết:
(26-08-18, 12:53 PM)mrsiro Đã viết: ...
vì 1 số lí do dài dòng nên mình chỉ có thể dùng visible chứ ko dùng close được đó bạn.

Nếu Access không hỗ trợ vụ ẩn modal form đang load thì bạn nghĩ giải pháp khác.
Không có giải pháp nào ngoài việc phải Invisible sao?
- Bạn có thể truyền các tham số trong form Login vô biến toàn cục.
- Bạn có thể truyền tham số qua OpenArgs
Như vậy thì khi Form đóng rồi bạn vẫn có thể tham chiếu đến các thông tin cần thiết.
Bạn chia sẽ giải thuật gì của bạn mà buộc phải Invisible cái form Login? Mọi người sẽ góp ý logic xử lý khác hợp lý hơn nếu có.

(26-08-18, 03:37 PM)ongke0711 Đã viết: Hehe..thì ra cái vấn đề nằm ở cái nút Close. Đóng Form là thoát ứng dụng. Có nhiều cách để xử lý v/đ này của bạn. Tôi đưa ra 3 cách:

* C1:
Bạn đổi kiểu thiết kế khác đi. Không dùng nút Close của form mà tự thiết kế gần giống vậy, vẫn đảm bảo đẹp mà. Khi thiết kế Form - Border Style: None.

[Hình: 43555511374_7910cea62d_o.png]



* C2: Nút Close có thể Quit hay Close tuỳ trường hợp
- Dùng thiết kế hiện tại của bạn. 
- Sửa code của nút Close trên form. Tạo thêm 1 biến tính hiệu (Flag) để khi sự kiện Form_Close (hoặc Unload) kích hoạt sẽ kiểm tra biến tín hiệu này -> sau đó thực hiện Quit hay Close tuỳ theo nó.
- Khai báo trên Form 1 (frmLogin)


Mã PHP:
Option Compare Database
Option Explicit

Dim blnQuit 
As Boolean 

Mã PHP:
Private Sub Form_Close()
    If blnQuit True Then
        DoCmd
.Quit
    End 
If
End Sub 

Mã PHP:
Private Sub Form_Open(Cancel As Integer)

    Dim CoBanQuyen As Boolean
    
    CoBanQuyen 
False  'Thay đổi tham số test này tuỳ theo code check bản quyền'

    If CoBanQuyen False Then
        DoCmd
.OpenForm "Form2", , , , , acDialog
        blnQuit 
False
        DoCmd
.Close acForm"Form1"
    Else
        blnQuit True
    End 
If 


* C3:

Một giải pháp khác là vẫn giữ thiết kế như bạn đang làm thêm cái nút lệnh (cmdHidden) khi bấm là ẩn Form 1 và hiện Form 2 như bạn đã test thành công, cho nút đó ẩn đi.

Khi form Login mở, khi không có bản quyền thì sẽ gọi cái nút lệnh đó (nó gần giống như Sendkey vậy)


Private Sub Form_Open(Cancel As Integer)
    If CoBanQuyen = False Then
        Call cmdHidden_Click
    Else
        'Tiep tục load form
    End If
End Sub

- Chú ý code của nút ẩn form phải là Public Sub

Public Sub cmdHidden_Click()
    DoCmd.OpenForm "Form2", , , , , acDialog
    Me.Visible = False
End Sub

(27-08-18, 06:10 PM)mrsiro Đã viết: bạn hiểu sai ý mình rồi

Mã:
đây là sự kiện onlick của nút đăng nhập
If nz(me.txtpass,0) = 0 then
msgbox "nhập pass"
me.txtpass.setforcus
end if

Mã:
đây là tại sự kiện keydown của txtpass
if keycode = 13 then
dangnhap_click
end if

Anh Bảo có form login đẹp quá, share cho em đi anh
Chữ ký của tieu_ngao Xin chào, mình là tieu_ngao, Tham gia http://thuthuataccess.com/forum từ ngày 20-04 -15.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Cách tạo Cbo để lọc các mặt hàng trong Sub Form samacxanh 3 253 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 189 30-09-18, 05:57 PM
Bài mới nhất: tranthanhan1962
  Lỗi truyền tham số từ Form vào query cannguyen 2 125 20-09-18, 06:49 PM
Bài mới nhất: cannguyen
  [Hỏi] Load dữ liệu từ table lên form bằng lăng 2 177 19-09-18, 04:56 PM
Bài mới nhất: bằng lăng
  [Help] Form bị thừa một khoảng so với thiết kế NguyenDungAnh 3 239 16-09-18, 02:46 PM
Bài mới nhất: NguyenDungAnh

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