1
アクセスフロントエンドログインフォームには、パスワードを変更するオプションが含まれています。 frm_Loginサブで私はfrm_PassChangeに入力したユーザ名「Me.txtUserName」を渡すために、次を使用しようとしています:frm_PassChangeサブでアクセスログインパスワード更新VBAとSQL
If Me.changepass = "Yes" Then
DoCmd.OpenForm "frm_PassChange", , , , , Me.txtUserName
End If
私は、ユーザーが新しいパスワード「Me.txtNewPass」を入力したい私は、その後、USERTABLE X_tblUsersに格納されます:
CurrentDb.Execute "UPDATE X_tblUsers SET X_tblUsers.Password = '" & Replace(Me.txtNewPass.Value, "'", "''") & "' " & _
"WHERE X_tblUsers.Username = '" & Me.OpenArgs & "'"
私はDoCmd.OpenFormコールの型の不一致エラーを取得しています。 誰も助けることができますか?それは、引数をポップアップよ -
1.データベースをクエリするときは、常に[ベストプラクティス - SQL文を実行する]を参照してください(http://stackoverflow.com/documentation/.net/3589/ado-net/14261/best- practices-executing-sql-statements)を使用します。 2)決してパスワードをプレーンテキストとして保存せず、代わりにハッシュを作成し、ハッシュを永続させます。パスワード入力を認証(ログイン)し、格納されたハッシュと比較します。 – Igor
Igor - パラメータの使用に関する意味を説明できますか?そして、はい、私は基本的な機能を動作させると、ハッシュを使用します。 – cixelsyd
[Microsoft Accessの更新クエリでプログラムでパラメータを渡すことは可能ですか?](http://stackoverflow.com/q/16568461/1260204) – Igor