Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


623 / 2272 ツリー ←次へ | 前へ→

【10850】管理権限のログイン方法 ひで 08/12/11(木) 10:02 質問[未読]
【10851】Re:管理権限のログイン方法 Gin_II 08/12/11(木) 10:11 回答[未読]
【10854】Re:管理権限のログイン方法 ひで 08/12/11(木) 14:33 発言[未読]
【10857】Re:管理権限のログイン方法 Gin_II 08/12/11(木) 17:05 回答[未読]
【10867】Re:管理権限のログイン方法 ひで 08/12/13(土) 16:00 発言[未読]
【10868】Re:管理権限のログイン方法 Gin_II 08/12/15(月) 8:59 回答[未読]
【10873】Re:管理権限のログイン方法 ひで 08/12/16(火) 8:31 発言[未読]
【10876】Re:管理権限のログイン方法 Gin_II 08/12/17(水) 15:02 回答[未読]
【10882】Re:管理権限のログイン方法 ひで 08/12/19(金) 16:14 お礼[未読]

【10850】管理権限のログイン方法
質問  ひで  - 08/12/11(木) 10:02 -

引用なし
パスワード
   お世話になります。

現在、ログイン画面を作成しIDとパスワードにより合致した場合のみ次の画面に進めるようにしておりますが、管理権限をつけた人のみ進める設定を作りたいと思うのですが、やり方をご教授頂ければ幸いです。

現在のやり方

テーブル名:ACCESS
フィールド1=ID
フィールド2=パスワード
フィールド3=氏名
フィールド4=管理権限(有無)

現状は、IDとパスワードが合致すれば次の画面へ進むようにしておりますが、
管理権限「有」とした人だけ次へ進める設定としたいのです。

どうかよろしくお願い致します。

【10851】Re:管理権限のログイン方法
回答  Gin_II  - 08/12/11(木) 10:11 -

引用なし
パスワード
   > 現状は、IDとパスワードが合致すれば次の画面へ進むようにしておりますが、

それをどのようにしているのか、VBAならばコードを、マクロなら内容を
記載してください。


> 管理権限「有」とした人だけ次へ進める設定としたいのです。

ID・パスワードが一致し、管理権限「有」の場合に次の画面に進めるようにします。

との回答になりますよ ^^;

と、今回のご質問とは関係ありませんが、半角カナは投稿する際にも、
テーブルのフィールド名などにも利用しないほうがいいですよ。

【10854】Re:管理権限のログイン方法
発言  ひで  - 08/12/11(木) 14:33 -

引用なし
パスワード
   ▼Gin_II さん:

お世話になります。失礼いたしました。

>それをどのようにしているのか、VBAならばコードを、マクロなら内容を
>記載してください。

コードを下記します。
以前ここでアクセス記録の取り方を教えて頂いた内容が入っています。

Option Compare Database
Option Explicit

Dim varEnterPass As Variant
------------------------------------------------------
Private Sub コマンド11_Click()

On Error GoTo Err_コマンド11_Click
  Dim sID As String     
  Dim dtmNow As Date     
  Dim sSQL As String
  Dim tblName As String   
  Dim stDocName As String
  Dim stLinkCriteria As String
  
   
  sID = CStr(Me.txtID.Value)  
  tblName = "access"    
  dtmNow = Now()

  sSQL = "INSERT INTO " & tblName & "(ID, 日時) "
  sSQL = sSQL & "VALUES('" & sID & "', #" & dtmNow & "#);"
                                
  Debug.Print sSQL
  CurrentDb.Execute sSQL

  
  If Me.txtPassWord = varEnterPass Then
  DoCmd.Close
  
  stDocName = "総合メニュー"
  DoCmd.OpenForm stDocName, , , stLinkCriteria
  'DoCmd.Close , "frm_sample"
   
  Else
    MsgBox "パスワード相違です", vbCritical
    Me.txtID.DefaultValue = ""
    Me.txtPassWord.DefaultValue = ""
  End If
  
Exit_コマンド11_Click:
  Exit Sub

Err_コマンド11_Click:
  MsgBox Err.Description
  Resume Exit_コマンド11_Click

End Sub

--------------------------------------------------------
Private Sub txtID_AfterUpdate()

  varEnterPass = DLookup("PassWord", "tbl_sample", _
        "[ID]='" & Me.txtID & "'") ' --- A
    
End Sub
--------------------------------------------------------

以上よろしくお願い致します。

【10857】Re:管理権限のログイン方法
回答  Gin_II  - 08/12/11(木) 17:05 -

引用なし
パスワード
   > Dim varEnterPass As Variant
Dim blnEnterAuthorization As Boolean '追加


>   If Me.txtPassWord = varEnterPass Then
'修正
  If Me.txtPassWord = varEnterPass And blnEnterAuthorization Then


>   varEnterPass = DLookup("PassWord", "tbl_sample", _
>         "[ID]='" & Me.txtID & "'") ' --- A

' 追加
blnEnterAuthorization = IIf(Nz(DLookup("管理権限", "tbl_sample", _
      "[ID]='" & Me.txtID & "'"), "") = "有", True, False)


> テーブル名:ACCESS
>   varEnterPass = DLookup("PassWord", "tbl_sample", _

テーブル名が違っているようですが、適宜、そちらの状況にあわせて
変更してください。

【10867】Re:管理権限のログイン方法
発言  ひで  - 08/12/13(土) 16:00 -

引用なし
パスワード
   ▼Gin_II さん:

ありがとうございました。出来るようになりました。

ちなみに、ログイン画面でID,パスワードを入力した上で
次画面へ行く方法は出来ましたが、ログイン画面ではなくある画面を
開こうとした時にこの管理権限の有る無しで開けないようにすること
などは不可能でしょうか。

欲張りな質問ですがよろしくお願い致します。

【10868】Re:管理権限のログイン方法
回答  Gin_II  - 08/12/15(月) 8:59 -

引用なし
パスワード
   > 次画面へ行く方法は出来ましたが、ログイン画面ではなくある画面を
> 開こうとした時にこの管理権限の有る無しで開けないようにすること
> などは不可能でしょうか。

ログイン画面を経由せずに、「ある画面」を開くということですか?
その場合、IDはどうやって判断すればいいんでしょうか?

【10873】Re:管理権限のログイン方法
発言  ひで  - 08/12/16(火) 8:31 -

引用なし
パスワード
   ▼Gin_II さん:

>ログイン画面を経由せずに、「ある画面」を開くということですか?
>その場合、IDはどうやって判断すればいいんでしょうか?

一度ログインしたIDをキーに持っていて、ボタンを押したときに
そのIDと管理権限にて開く開けないを判断出来ればいいかなとも思ったのですが。難しいでしょうか。
そうすれば、ログイン画面を何度も出さずに済むかとも考えております。

【10876】Re:管理権限のログイン方法
回答  Gin_II  - 08/12/17(水) 15:02 -

引用なし
パスワード
   > 一度ログインしたIDをキーに持っていて、ボタンを押したときに
> そのIDと管理権限にて開く開けないを判断出来ればいいかなとも思ったのですが。

難しいことではないですが、試してみました?

簡単なところでは、

・Public 変数に格納しておく
・メインフォームに隠しコントロール(可視:いいえ)のテキストボックスを
 作成して、格納しておく

などでできると思いますけど。

【10882】Re:管理権限のログイン方法
お礼  ひで  - 08/12/19(金) 16:14 -

引用なし
パスワード
   ▼Gin_II さん:

ありがとう御座います。

また試して問題あればご連絡いたします。

623 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078197
(SS)C-BOARD v3.8 is Free