Trang 1/2 1 2 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 19
  1. #1
    Tham gia ngày
    11 2008
    Bài gởi
    438
    Cảm ơn
    335
    Được cảm ơn 84 lần trong 47 bài viết

    Hỏi cách tạo Form đăng nhập trong Access

    Chào mọi người.Mình có vấn đề này không biết làm như thế nào,chỉ biết làm mẫu thôi.Khi đặt PW cho Access thì dùng phần mêm phá PW chỉ có 10s là mở ra liền.Vì vật em thiết kế ra cái Form đăng nhập.
    Khi người dùng nhập đúng tên truy cập do mình quy định và bấm đúng mật khẩu.Nhấn nút OK thì:
    +nếu đúng mật khẩu và tên truy cập thì cho đăng nhập vào.
    +Nếu sai thì sau khoảng 3 lần thì tự động thoát
    Trường hợp người dùng nhập rồi nhưng không muốn nhấn OK mà nhấn CANCEL thì thoát luôn.
    File của em thiết kế như sau:

    ----------
    Lần sau bạn chú ý đặt tên đề tài cho rõ hơn nhé
    Tập tin đính kèm Tập tin đính kèm
    thay đổi nội dung bởi: DOSNET, 17-10-09 lúc 11:18 AM

  2. #2
    Tham gia ngày
    03 2008
    Nơi Cư Ngụ
    Đồng ruộng Long An
    Bài gởi
    5,566
    Cảm ơn
    8,671
    Được cảm ơn 9,818 lần trong 4,400 bài viết
    Trích Nguyên văn bởi ngocchung89 View Post
    Chào mọi người.Mình có vấn đề này không biết làm như thế nào,chỉ biết làm mẫu thôi.Khi đặt PW cho Access thì dùng phần mêm phá PW chỉ có 10s là mở ra liền.Vì vật em thiết kế ra cái Form đăng nhập.
    Khi người dùng nhập đúng tên truy cập do mình quy định và bấm đúng mật khẩu.Nhấn nút OK thì:
    +nếu đúng mật khẩu và tên truy cập thì cho đăng nhập vào.
    +Nếu sai thì sau khoảng 3 lần thì tự động thoát
    Trường hợp người dùng nhập rồi nhưng không muốn nhấn OK mà nhấn CANCEL thì thoát luôn.
    File của em thiết kế như sau:

    ----------
    Lần sau bạn chú ý đặt tên đề tài cho rõ hơn nhé
    Trước tiên bạn nên thiết kế 1 table để ghi thông tin cho người dùng.
    Code như sau:

    Trong Module:
    Code:
    Option Compare Database
    Public lngMyEmpID As Long
    Code trong form đăng nhập:

    Code:
    Option Compare Database
    Private intLogonAttempts As Integer
    Private Sub cboEmployee_NotInList(NewData As String, _
    Response As Integer)
    MsgBox "Ban phai nhap dung 'User name' cua ban.", _
    vbInformation, Me.Caption
        Response = acDataErrContinue
    End Sub
    Private Sub cmdCancel_Click()
    On Error GoTo Err_cmdCancel_Click
        DoCmd.Quit
    Exit_cmdCancel_Click:
        Exit Sub
    Err_cmdCancel_Click:
        MsgBox Err.Description
        Resume Exit_cmdCancel_Click
    End Sub
    Private Sub Form_Open(Cancel As Integer)
    Me.cboEmployee.SetFocus
    End Sub
    Private Sub cboEmployee_AfterUpdate()
    txtstrAccess = DLookup("strAccess", "tblEmployees", _
    "[lngEmpID]=" & Me.cboEmployee.Value)
    Me!txtUserName = Me!cboEmployee.Column(1)
    Me.txtPassword.SetFocus
    End Sub
    Private Sub cmdLogin_Click()
       If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
                MsgBox "Ban phai chon 'User Name' cua ban.", _
                vbCritical, "User name"
                Me.cboEmployee.SetFocus
            Exit Sub
        End If
        If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
                MsgBox "Ban phai nhap mat khau cua ban vao o 'Password'.", _
                vbCritical, "Nhap mat khau"
                Me.txtPassword.SetFocus
            Exit Sub
        End If
        If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
        "[lngEmpID]=" & Me.cboEmployee.Value) Then
            lngMyEmpID = Me.cboEmployee.Value
            MsgBox "Ban da dang nhap thanh cong...", vbInformation, "Dang nhap..."
            DoCmd.OpenForm "frmMain"
            Me.Visible = False
            Else
            MsgBox "Mat khau khong dung.  Vui long nhap lai.", _
            vbExclamation, "Sai mat khau!"
            Me.txtPassword.SetFocus
        End If
        intLogonAttempts = intLogonAttempts + 1
        If intLogonAttempts > 2 Then
            MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
            vbCritical, "Mat khau!"
            Application.Quit
        End If
    End Sub
    Bạn tham khảo thêm file đính kèm nhe.
    Tập tin đính kèm Tập tin đính kèm
    Già của tuổi trẻ, trẻ của tuổi già.


  3. #3
    Tham gia ngày
    11 2009
    Bài gởi
    1
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    Mình cũng đang gặp khó khăn giống chủ topic, mình đã down file login về, file này rất hay, nhưng mình không biết làm cách nào để nhập nó vào phần mềm của mình cả. Bạn có thể chỉ mình cách nhập nó vào chương trình giúp mình không? Xin cám ơn

  4. #4
    Tham gia ngày
    03 2008
    Nơi Cư Ngụ
    Đồng ruộng Long An
    Bài gởi
    5,566
    Cảm ơn
    8,671
    Được cảm ơn 9,818 lần trong 4,400 bài viết
    Trích Nguyên văn bởi Lixon View Post
    Mình cũng đang gặp khó khăn giống chủ topic, mình đã down file login về, file này rất hay, nhưng mình không biết làm cách nào để nhập nó vào phần mềm của mình cả. Bạn có thể chỉ mình cách nhập nó vào chương trình giúp mình không? Xin cám ơn
    Trước hết bạn mở file của bạn ra trong ngăng Table click phải chuột, chọn Import... chọn file cần import, chọn gờ Table tblEmployees, Gờ Form chọn frmLogin, xong Import bình thường thôi bạn.
    Chỉnh lại code khi đăng nhập thành công thì mở form bạn muốn hiện đầu tiên, và chỉnh lại phần startup là form frmlogin.
    Chúc bạn thành công
    Già của tuổi trẻ, trẻ của tuổi già.

  5. Có 3 thành viên cảm ơn Hai Lúa Miền Tây về bài viết này:


  6. #5
    Tham gia ngày
    09 2009
    Bài gởi
    2
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    chào các anh chị, em đang học về cơ sở dữ liệu về Access, em cũng thử làm Form đăng nhập như hướng dẫn của anh chị ở trên, em làm nó chay rồi, xong thỉnh thoảng nó lại mắc lỗi: nhập đúng mật khẩu và tên người dùng rồi mà vẫn báo lỗi dăng nhập sai. em ko hiểu mong anh chị chỉ giúp, em cảm ơn trước nhé!
    em gửi bài kèm theo

  7. #6
    Tham gia ngày
    09 2009
    Bài gởi
    2
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    file kèm theo
    http://www.mediafire.com/?xgq3myxynn2

    em xem lại rồi. cứ đăng nhập quá 2 lần là lại bị như vậy.Em chchưa biết nhiều về VBA , hình như theo em hiểu thì cái biến lưu số lần đăng nhập sai( quá 3 lần đăng chương trình sẽ thoát ) , nó lưu cả lần đăng nhập đúng. tại em chạy Form này thử riêng mà. anh chị nào chỉ dum em cái, bí nhất thì em cho cái điều kiện này lớn hơn nữa, thì ko có lỗi này.
    intLogonAttempts = intLogonAttempts + 1
    If intLogonAttempts > 2 Then
    MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
    vbCritical, "Mat khau!"
    Application.Quit
    End If
    End Sub

    chào anh chị, cái lỗi này em đã xử lý rồi ạ. chỉ cần gán biết nhớ số lần đăng nhập, khi đăng nhập thành công =0, thì chương trình chạy ổn định ko xảy ra lỗi nữa.
    thay đổi nội dung bởi: ptm0412, 26-04-10 lúc 09:30 AM

  8. #7
    Nhưng cậu ơi, chỉnh code cho phù hợp với form bạn muốn mở sau khi đăng nhập thành công ở chôc nào thế?
    ./. Không em anh vẫn sống...
    ...Sống không bằng chết ./.

  9. #8
    Trích Nguyên văn bởi domfootwear View Post
    Trước tiên bạn nên thiết kế 1 table để ghi thông tin cho người dùng.
    Code như sau:

    Trong Module:
    Code:
    Option Compare Database
    Public lngMyEmpID As Long
    Code trong form đăng nhập:

    Code:
    Option Compare Database
    Private intLogonAttempts As Integer
    Private Sub cboEmployee_NotInList(NewData As String, _
    Response As Integer)
    MsgBox "Ban phai nhap dung 'User name' cua ban.", _
    vbInformation, Me.Caption
        Response = acDataErrContinue
    End Sub
    Private Sub cmdCancel_Click()
    On Error GoTo Err_cmdCancel_Click
        DoCmd.Quit
    Exit_cmdCancel_Click:
        Exit Sub
    Err_cmdCancel_Click:
        MsgBox Err.Description
        Resume Exit_cmdCancel_Click
    End Sub
    Private Sub Form_Open(Cancel As Integer)
    Me.cboEmployee.SetFocus
    End Sub
    Private Sub cboEmployee_AfterUpdate()
    txtstrAccess = DLookup("strAccess", "tblEmployees", _
    "[lngEmpID]=" & Me.cboEmployee.Value)
    Me!txtUserName = Me!cboEmployee.Column(1)
    Me.txtPassword.SetFocus
    End Sub
    Private Sub cmdLogin_Click()
       If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
                MsgBox "Ban phai chon 'User Name' cua ban.", _
                vbCritical, "User name"
                Me.cboEmployee.SetFocus
            Exit Sub
        End If
        If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
                MsgBox "Ban phai nhap mat khau cua ban vao o 'Password'.", _
                vbCritical, "Nhap mat khau"
                Me.txtPassword.SetFocus
            Exit Sub
        End If
        If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
        "[lngEmpID]=" & Me.cboEmployee.Value) Then
            lngMyEmpID = Me.cboEmployee.Value
            MsgBox "Ban da dang nhap thanh cong...", vbInformation, "Dang nhap..."
            DoCmd.OpenForm "frmMain"
            Me.Visible = False
            Else
            MsgBox "Mat khau khong dung.  Vui long nhap lai.", _
            vbExclamation, "Sai mat khau!"
            Me.txtPassword.SetFocus
        End If
        intLogonAttempts = intLogonAttempts + 1
        If intLogonAttempts > 2 Then
            MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
            vbCritical, "Mat khau!"
            Application.Quit
        End If
    End Sub
    Bạn tham khảo thêm file đính kèm nhe.
    Ở đây tôi hơi "phân vân" một cái là theo thông lệ, password là có phân biệt hoa thường. Theo cách của bạn, thì bạn dùng hàm DLookup để tìm dò password. Nhưng mặc định, nếu bạn Option Compare Database là nó sẽ coi HOA như thường. Như vậy là chưa ổn.
    Bạn nên đổi lại là Option Compare Binary.

    Vấn đề tiếp theo là để password "mộc" như thế vẫn hơi "lộ liễu", bởi vì nếu tôi sử dụng một cái soft nào đó để tôi mở file Access ra, xem cái table là biết password liền, đúng không?

    Password khi lưu cần phải mã hóa. Khi so sánh cũng nên so sánh trên các password đã mã hóa, như vậy mới tạm ổn.

  10. #9

    Wink

    Chào các anh chị, em cũng đnag học về access. Nhưng liệu em muốn tạo mục đăng nhập mà không dung VBA có được không anh chị ơi. Vì cái đo em chưa học nah. Anh chị nào giúp em với. em cám ơn nhiều
    Name: Nguyễn Thị Hiền
    Bỉthday: 28-10-1990
    Class:
    Thbk53

    School: Hanoi University of agricultural


  11. #10
    Tham gia ngày
    10 2008
    Bài gởi
    41
    Cảm ơn
    19
    Được cảm ơn 16 lần trong 2 bài viết
    Với code trên nếu như mình muốn khi login thành công vào form main thì sẽ có menu bar kèm theo và mình sẽ phân quyền theo strAccess để menubar sẽ mờ đi một vài chức năng theo yêu cầu. Nhờ các bạn gợi ý cách làm.

    Thank

Trang 1/2 1 2 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 2 người đang xem đề tài này. (0 thành viên và 2 khách)

Đề tài tương tự

  1. Ví dụ về tạo form đăng nhập ở Access
    Viết bởi Hai Lúa Miền Tây trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 9
    Bài mới gởi: 01-10-14, 10:19 PM
  2. Làm Form Đăng nhập trong Excel
    Viết bởi langhoaithao trong chuyên mục Hỏi đáp về VBA - Macro
    Trả lời: 8
    Bài mới gởi: 23-07-11, 10:50 AM
  3. làm cách nào tạo ô đăng nhập trong access
    Viết bởi ccna_pthue trong chuyên mục Ứng dụng Quản trị cơ sở dữ liệu
    Trả lời: 1
    Bài mới gởi: 26-04-10, 08:04 AM
  4. tạo form đăng nhập trong excel
    Viết bởi it4lt trong chuyên mục Lập Trình với Excel
    Trả lời: 3
    Bài mới gởi: 07-05-09, 11:43 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]