code click vào Shape hiện InputBox, nhập đúng mật khẩu mở Form

Liên hệ QC

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Chào các anh chị, em có tạo Form, và tạo một Shape để gọi form, khi click vào Shape thì hiện InputBox để nhập mật khẩu, nếu nhập đúng mật khẩu mới hiện form, em có viết đoạn code như dưới, nhưng sao khi nhập mật khẩu gì (đúng hay sai, và ngay cả nhấn Cancel của InputBox) nó cũng mở form hết. Mong các anh chị giúp em chỉnh code, và khi gõ vào InputBox nó hiện"Sao" chứ không hiện chữ.
Mã:
Sub MK()
'pw = InputBox(Prompt:="Nhap Mat Khau: ")
 If pwOK Then
    MsgBox "Dung mat khau, mo Form nhe!!"
 End If
 Call GoiNhap
 Exit Sub
If Not pwOK Then
  MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
    Exit Sub
End If
End Sub

Sub GoiNhap()
NhapHD.Show
End Sub

Private Function pwOK() As Boolean
    pw = InputBox(Prompt:="Nhap Mat Khau: ")
    pwOK = (pw = "Admin")
End Function
 
Bạn đang nói chuyện với ai đấy? Tôi thì không dùng code của bạn rồi. À quên, code của Daniel Klann. Bạn là Daniel Klann?

Mà cho dù nếu tôi dùng code của bạn thì tôi biết "sáng tạo, chỉnh sửa". Tin hay không tùy bạn. Nhưng đây là bạn giúp NguyenthiH. Tôi e rằng bạn NguyenthiH không đủ sức "sáng tạo, chỉnh sửa" đâu bạn. Nhìn bài 1 thì bạn thấy sức của bạn NguyenthiH có hạn mà.
Xin thông tin đến bạn là tôi không phải Daniel Klann!
Thôi được rồi, vấn đề của bạn @NguyenthiH đã được giải quyết, tất cả vì mục tiêu chung là giúp đỡ mọi người nên giờ ta nên kết thúc tranh luận tại đây đi bác ạ!, tranh luận thêm cũng không nằm trong chủ đề.
 
Upvote 0
Mã:
Sub GoiXuat(ByVal bln As Boolean)
If bln = True Then
Xuat.Show
Else
MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
End If
End Sub

Private Function pwOK() As Boolean
 Dim pw As String
  pw = InputBoxDK(Prompt:="Nhap Mat Khau: ")
  pwOK = (pw = "Admin")
End Function
Chào các anh chị, sao đoạn code trên, khi nhấn shape thì hiện InputBox, em chưa nhập mật khẩu nhân Cancel, hoặc nhấn nút thoát InputBox nó cũng hiện Msgbox " Sai mat khau - thu lai". Mong các anh chị chỉnh cho khi hiện InputBox nếu nhấn Cancel hoặc nhấn nút thoát thì không hiện MsbBox"Sai mat khau - Thu lai" nữa ạ mà thoát luôn InputBox.
 
Upvote 0
Mã:
Sub GoiXuat(ByVal bln As Boolean)
If bln = True Then
Xuat.Show
Else
MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
End If
End Sub

Private Function pwOK() As Boolean
Dim pw As String
  pw = InputBoxDK(Prompt:="Nhap Mat Khau: ")
  pwOK = (pw = "Admin")
End Function
Chào các anh chị, sao đoạn code trên, khi nhấn shape thì hiện InputBox, em chưa nhập mật khẩu nhân Cancel, hoặc nhấn nút thoát InputBox nó cũng hiện Msgbox " Sai mat khau - thu lai". Mong các anh chị chỉnh cho khi hiện InputBox nếu nhấn Cancel hoặc nhấn nút thoát thì không hiện MsbBox"Sai mat khau - Thu lai" nữa ạ mà thoát luôn InputBox.
Thì tự vì bln lúc nào cũng bằng False.
Cái vế sau bạn đưa cái đoạn code nhấn vào shape mình xem thử
 
Lần chỉnh sửa cuối:
Upvote 0
Mã:
Sub GoiXuat(ByVal bln As Boolean)
If bln = True Then
Xuat.Show
Else
MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
End If
End Sub

Private Function pwOK() As Boolean
Dim pw As String
  pw = InputBoxDK(Prompt:="Nhap Mat Khau: ")
  pwOK = (pw = "Admin")
End Function
Chào các anh chị, sao đoạn code trên, khi nhấn shape thì hiện InputBox, em chưa nhập mật khẩu nhân Cancel, hoặc nhấn nút thoát InputBox nó cũng hiện Msgbox " Sai mat khau - thu lai". Mong các anh chị chỉnh cho khi hiện InputBox nếu nhấn Cancel hoặc nhấn nút thoát thì không hiện MsbBox"Sai mat khau - Thu lai" nữa ạ mà thoát luôn InputBox.
1. Vứt function pwOK

2.
Mã:
Sub GoiXuat()
Dim pw As String
    pw = InputBoxDK(............................................)
    If pw <> "" Then
        If pw = "admin" Then
            Xuat.Show
        Else
            MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
        End If
    End If
End Sub

Cách gọi
Mã:
GoiXuat

hoặc

Call GoiXuat
-------------
Nếu muốn dùng để gọi nhiều Form thì
Mã:
Sub GoiForm(ByVal form As Object)
Dim pw As String
    pw = InputBoxDK(...............................................)
    If pw <> "" Then
        If pw = "admin" Then
            form.Show
        Else
            MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
        End If
    End If
End Sub

Cách gọi
Mã:
GoiForm Xuat

hoặc

GoiForm Nhap

GoiForm BaoCao

GoiForm NhapLieu
 
Upvote 0
Thầy @batman1 ơi, vậy khi nhập Pass sai, hiện Msgbox ->enter thì hiện InputBox để gõ lại Pass thì chỉnh code sao Thầy?
 
Upvote 0
Bác ấy chắc chưa dậy... :)
Em xin phép mượn bài của anh nhé.
PHP:
Sub GoiForm(ByVal form As Object)
Dim pw As String
'thêm dòng 1 này:'
1 start_input:
    pw = InputBoxDK(...............................................)
    If pw <> "" Then
        If pw = "admin" Then
            form.Show
        Else
            MsgBox Prompt:="Sai Mat Khau - Thu lai!", Buttons:=vbCritical + vbOKOnly
'thêm dòng 2 này:'
2           goto start_input   
        End If
    End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom