ご教示のほどお願いします。
Accessで文書を管理するアプリケーションを作っておりますが、起動時の設定でデータベースウィンドウを非表示にしております。
管理フォームをつくり、データベースウィンドウを表示させるボタンを設置して、「F11」キー送信によってデータベースウィンドウを表示させるようにしておりますが、データベースウィンドウを表示させる際に、パスワード入力するように設定し、OKならデータベースウィンドウを開き、パスワードが間違っていたら、アプリケーションを終了させるようにしたいのですが、どのようにしたら良いかわかりません。
できれば具体的なやり方、コードなども教えていただけたら幸いです。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
恐らく、データベースの管理者以外のユーザーにはデータベースウィンドウを
表示できないようにした、ということだと思いますが、だとしたらF11キーなどの
ショートカットキーは、むしろ無効化させておいた方がよいかと思います。
(別のショートカットキーを経由するなどして、データベースウィンドウを表示
させることができてしまうためです)
※データベースウィンドウの表示は、VBAなら「DoCmd.SelectObject」で、
マクロなら「オブジェクトの選択」で、それぞれ対応できます。
(それぞれ、3番目の引数に「True/はい」を指定することで可能)
パスワードの入力要求はInputBoxでも可能ですが、パスワード入力らしく
「***」といった表示にさせたい場合は、フォームで自作することになります。
1)新規フォームをデザインビューで開く(テーブルやクエリは指定しません)
2)テキストボックスを追加し、プロパティシートの『その他』タブで、『名前』に
「パスワード」と指定
3)上記テキストボックスのプロパティシートで、今度は『データ』タブを選択し、
『定型入力』の欄に「パスワード」と入力
(パスワード入力時に「***」と表示させるため)
4)コマンドボタンを2つ追加し、一方の名前を「認証」、もう一方を「取消」と
指定
5)「認証」ボタンのプロパティシートで『イベント』タブを選択し、『クリック時』に
カーソルを移動したときに右端に表示される『...』(ビルダ)ボタンをクリック
6)『ビルダの選択』ダイアログが表示されたら、「コード ビルダ」をダブルクリック
(Accessの設定によっては、直接以下のVBE画面が表示されます)
7)VBE(=Visual Basic Editor)の画面が表示され、「Private Sub ~~」と
いう文字が自動入力されるので、そこを以下のように編集(下記のコピー
&ペーストでOk):
Private Sub 認証_Click()
'エラー発生時には「エラー処理:」の行に飛ばすための宣言
On Error Goto エラー処理
'変数を宣言
Dim strPWD As String, Rslt As Boolean
'正規パスワードを定数として記録
Const strReg As String = "abcDEF"
'入力したパスワードを変数に記録
'(空白(Null)は、空文字("")に変換)
strPWD = Nz(パスワード, "")
'正規パスワードと比較
'(StrComp関数を使用し、大文字・小文字を区別させます)
Rslt = (StrComp(strPWD, strReg, vbBinaryCompare) = 0)
'合致した場合はデータベースウィンドウを表示、しなければ終了
If Rslt Then '合致
'メッセージを表示して、データベースウィンドウを表示
'(「acTable」は『テーブル』タブの指定。フォームなら「acForm」)
MsgBox "正規のパスワードを確認しました。", , "確認"
DoCmd.SelectObject acTable, , True
Else '不一致
'メッセージを表示して、Accessを終了
MsgBox "パスワードの認証に失敗したため、終了します。", , "確認"
DoCmd.Quit acQuitPrompt
End If
終了処理:
'処理を終了(→「エラー処理」部分が無限ループになるのを回避)
Exit Sub
エラー処理:
'エラー発生時はエラー内容をメッセージボックスで表示
MsgBox Err.Number & ":" & Err.Description, , Me.Name & " 認証"
Resume 終了処理
End Sub
8)「取消」ボタンのクリック時には、このフォーム自体を閉じるためのコードを
指定(VBAなら「DoCmd.Close」、マクロなら「閉じる」アクション)
9)フォームのプロパティシートで、『書式』タブの各項目を以下のように設定:
『レコードセレクタ』=「いいえ」
『移動ボタン』=「いいえ」
『サイズ自動修正』=「はい」(既定で「はい」のはず)
『自動中央寄せ』=「はい」
『境界線スタイル』=「ダイアログ」
10)今度は『その他』タブに移動し、以下のように設定します:
『ポップアップ』=「はい」
『作業ウィンドウ固定』=「はい」
※ここの設定は、フォームを開くときにダイアログモードを指定する場合は
省略できます。
(VBAなら「DoCmd.OpenForm "フォーム名", , , , , acDialog」、マクロなら
『フォームを開く』アクションで『ウィンドウ モード』に「ダイアログ」を指定)
11)このフォームに適当な名前をつけて保存して閉じる
以上で作成したパスワード確認用のフォームを、現在、F11のキー送信を
行っているボタンから呼び出すようにしてやれば、目的を達せられるかと
思います。
・・・以上、長くなりましたが(汗)、参考まで。
No.2
- 回答日時:
まず、ファイルを『排他モード』で開きます。
【排他モードの開き方】
スタートメニューの『Access』を開き
ファイルを選択して、右下の『開く』から『排他モードで開く』を選択。
そして、『ツール』⇒『セキュリティ』⇒『データベース パスワードの設定』
パスワードを設定後、ファイルを再起動すればOKですが
質問の答えになっていますでしょうか?
この回答への補足
早速ありがとうございます。
質問の趣旨ですが、要するに、設置したボタンを押すと・・・パスワードを求めるウィンドウが開いて、パスワードを入れるとそのパスワードが合っていればデータベースウィンドウが表示されて、間違っていたらアプリケーションを終了するようにできればOKです。
教えていただいた方法では、データベースを開くことにパスワードを要求するということではないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) Microsoft Word2023で、修正箇所を表示させたい 1 2023/02/09 10:07
- Windows 10 (続き)2つのウィンドウ選択時の表示について 6 2023/08/13 15:05
- Windows 10 2つのウィンドウ選択時の表示について 10 2023/07/25 08:48
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- その他(パソコン・周辺機器) デバイスのペアリングのウィンドウサイズがおかしい 1 2023/01/18 18:48
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(ブラウザ) Edgeバー 3 2023/02/23 18:33
- モニター・ディスプレイ パソコンでスクリーンショットしたもの(HP)を印刷しました。 3 2022/07/03 16:39
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(Microsoft Office) windows10で作業を終了する際の「保存しますか はい いいえ」を表示させずに自動で保存する方法 6 2023/03/15 11:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
YouTubeが毎回ログインしないと...
-
Excelのセルにユーザー名...
-
ビーリアルのユーザー名を変え...
-
Instagramからこんなメールがき...
-
メールをパスワードつきで送る方法
-
LINE TCBというところからLINE...
-
X(Twitter)が乗っ取られたかも...
-
メールアドレスで上付きのハイフン
-
インスタのアイコンについてるN...
-
steam版 apexのログアウト方法...
-
CDにパスワードをかける
-
メールのマナー編
-
URLとメールアドレス
-
「@」(アットマーク)の無いメ...
-
インスタの捨て垢で友達のスト...
-
すしともでログインできません
-
携帯電話を解約してもSMSの受信...
-
メールを返信したら、英語のメ...
-
インスタで新しいアカウントを...
-
CSVファイルを添付するときにパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ビーリアルのユーザー名を変え...
-
Excelのセルにユーザー名...
-
steam版 apexのログアウト方法...
-
メールアドレス 上バーの入力...
-
Netflixのパスワード変更につい...
-
メールアドレスで上付きのハイフン
-
メールのマナー編
-
メールをパスワードつきで送る方法
-
メールアドレスから個人を特定...
-
メールを返信したら、英語のメ...
-
楽天カードからのワンタイムパ...
-
携帯電話を解約してもSMSの受信...
-
CSVファイルを添付するときにパ...
-
インスタの捨て垢で友達のスト...
-
解約済みの iPadについて 解約...
-
URLとメールアドレス
-
YahooIDをパスワード形式にした...
-
大学定期試験過去問サイト「過...
-
「@」(アットマーク)の無いメ...
-
メールエラー
おすすめ情報