1
사용자가 비밀번호를 변경할 수있는 옵션이 포함 된 액세스 프론트 엔드 로그인 양식이 있습니다. frm_Login 하위에서 나는 frm_PassChange에 입력 한 사용자 이름 "Me.txtUserName"을 전달하는 다음 사용하려고 해요 :액세스 로그인 비밀번호 업데이트 VBA 및 SQL
이If Me.changepass = "Yes" Then
DoCmd.OpenForm "frm_PassChange", , , , , Me.txtUserName
End If
이 frm_PassChange 하위 나는 새 비밀번호 "Me.txtNewPass"를 입력하도록 할 I 다음 USERTABLE X_tblUsers에 저장합니다 : 나는 DoCmd.OpenForm의 통화 형식 불일치 오류를 받고 있어요
CurrentDb.Execute "UPDATE X_tblUsers SET X_tblUsers.Password = '" & Replace(Me.txtNewPass.Value, "'", "''") & "' " & _
"WHERE X_tblUsers.Username = '" & Me.OpenArgs & "'"
. 아무도 도와 줄 수 있습니까? 이 인수를 팝업 것 -
1. 데이터베이스를 쿼리 할 때 항상 매개 변수를 사용하십시오. [Best Practices - SQL 문 실행하기] (http://stackoverflow.com/documentation/.net/3589/ado-net/14261/best- practice-executing-sql-statements)를 사용합니다. 2) 암호를 일반 텍스트로 저장하지 말고 대신 해시를 만들고 해시를 유지하십시오. 인증 (로그인) 할 때 암호 입력을 해시하고 저장된 해시와 비교합니다. – Igor
Igor - 매개 변수 사용과 관련하여 어떤 의미인지 설명해 주시겠습니까? 그리고 예, 기본 기능을 작동 시키면 해시를 사용합니다. – cixelsyd
[Microsoft Access 업데이트 쿼리에서 프로그래밍 방식으로 매개 변수를 전달할 수 있습니까?] (http://stackoverflow.com/q/16568461/1260204) – Igor