Windows 10 & Office 2016 Access 2016

パスワード入力フォームを作成してパスワードが合えば開くようにする

投稿日:2017年1月13日 更新日:

Accessでパスワード入力フォームを作成して、パスワードを入力してパスワードが合えばフォームを開くようにする方法です。

パスワードの入力

注意ここでは、Accessのオプションでウィンドウを重ねて表示する設定にしています。

Accessのオプションでウィンドウを重ねて表示する設定

[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

パスワード入力用フォームの作成

パスワード入力用のフォームを作成します。

[作成]タブをクリックして、[その他のフォーム]をクリックして、[モーダルダイアログボックス]をクリックします。

モーダルダイアログボックス

下のようにフォームが作成されます。

フォームの作成

少し大きいので、[OK]ボタンと[キャンセル]ボタンをドラッグで上へ移動させて、下のようにフォームを小さくします。

フォームのサイズ縮小

参考メッセージボックスは、アプリケーションパーツから作成してもいいと思います。

アプリケーションパーツからメッセージボックスなどのフォームを作成

Access2010では、[作成]タブにある[アプリケーションパーツ]から、テンプレートを選択してフォームなどを簡単に作成することができます ...

続きを見る

パスワード入力用のテキストボックスを作成

[デザイン]タブの[テキストボックス]ボタンをクリックして、下のようにパスワード入力用の非連結のテキストボックスを作成します。

[非連結]とはテーブルやクエリのデータがもとになっていないコントロールのことを指します。

テキストボックスウィザードが表示された場合は[キャンセル]ボタンをクリックして閉じてください。

ラベルには、[パスワードを入力してください。]と入力します。

テキストボックスの作成

非連結のテキストボックスに名前を付けます。

プロパティの[その他]タブをクリックして、[名前]に[パスワード]と入力します。

プロパティが表示されていない場合は、[F4]キーを押して表示してください。

テキストボックスの名前

定型入力ウィザードで[パスワード」を選択

パスワードがアスタリスクで表示されるように設定します。

[データ]タブの[定型入力]をクリックして、[...]をクリックします。

プロパティの[定型入力]

[定型入力ウィザード]から[パスワード]をクリックします。

そして、[完了]ボタンをクリックします。

[定型入力ウィザード」 で[パスワード]を選択

プロパティシートの[定型入力]には、以下のように[パスワード]と表示されます。

コマンドボタンのプロパティ

参考定型入力ウィザードについては、以下の記事で解説しています。

定型入力ウィザードを使用して簡単に入力パターンを設定

Accessでは、[定型入力]を使用して入力パターンを設定できます。 フィールドのデータ型が[数値型][通貨型][短いテキスト][日付/時刻 ...

続きを見る

IMEの入力モード

パスワードは半角英数字を使用することが多いと思います。

IMEの入力モードをオフに設定すると、パスワードの入力がしやすくなります。

テキストボックスのプロパティの[その他]タブを開きます。[IME入力モード]を[オフ]にします。

パスワードのテキストボックス内にカーソルが移動すると、自動的にIME入力モードはオフになります。

セキュリティを気にするのであれば、[IME入力モード]を[半角英数]、[IME変換モード]を[無変換]にすると、パスワード入力時に履歴が表示されなくなります。

テキストボックスのプロパティの[IME入力モード]を[オフ]に設定

参考Accessでは解説していませんが、入力モードの切替については、Excelの入力規則で解説しています。参考にしてください。

半角・ひらがな入力などを自動で切り替えるには[データの入力規則]で

Excelでは、[入力規則]を使って入力時の日本語入力をオンにしたり、オフにしたりすることができます。 この設定を行っておくと、入力時にIM ...

続きを見る

[OK]ボタンに埋め込みマクロを設定

[OK]ボタンにマクロを設定します。

[OK]ボタンを選択して、プロパティの[イベント]タブの[クリック時]にある[...]をクリックします。

埋め込みマクロの編集

下のように[マクロツール]が開かれます。

アクション[ウィンドウを閉じる]はそのままにしておきます。

マクロツール

[新しいアクションの追加]の▼ボタンをクリックして、[If]をクリックします。

チェック[パスワード]テキストボックスに入力されたパスワードが正しければ、ウィンドウを閉じて、フォームを開きます。

パスワードが違うなら、「パスワードが違います」というメッセージボックスを表示するという条件を付けていきます。

アクションの追加[If]

テキストボックスに「[パスワード]="123"」と入力します。

パスワードは先で作成したパスワード入力用テキストボックスの名前です。

ここでは、パスワードは「123」にしていますが、任意のパスワードに変更してください。

[上へ移動]ボタンをクリックします。

条件入力

下のようになったら、[ウィンドウを閉じる]を上へ移動します。

順番を変更

下のようになります。

次に[新しいアクションの追加]の▼ボタンをクリックして、

新しいアクションの追加

[フォームを開く]を選択します。

[フォーム名]にある▼ボタンをクリックして、パスワードが正しかった場合のフォームを指定します。

フォームを開く設定

ここでは、[F_社員]を指定します。[Elseの追加]をクリックします。

フォーム名の指定

[Else]の▼ボタンをクリックして、

Elseの追加

今度は、[メッセージボックス]を選択します。

[メッセージ]のテキストボックスに[パスワードが違います]と入力します。

メッセージボックスの設定

以下のようになっているかを確認します。

マクロ設定

マクロを保存して閉じます。

下のようなメッセージが表示されたら、[はい]をクリックします。

マクロの保存

参考マクロアクションは、[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

また、マクロアクションはコピーすることもできます。

マクロツールで既存のアクションをコピーして活用(再利用)するには

Accessでは多くのマクロアクションが使用できます。 しかし、毎回アクションを選択して入力するのは面倒ですね。 マクロアクションは、コピー ...

続きを見る

フォームに名前を付けて保存

フォームに戻ったら、[F12]キーを押して[名前を付けて保存]ダイアログボックスを表示させて、フォームに名前を付けて保存します。

ここでは、[パスワード入力]とします。

フォームに名前を付けて保存

空白のフォームの場合

ここでは、[OK]と[キャンセル]が設定済みのフォームをもとに作成しましたが、空白のフォームを使用した場合は、[OK] ボタンを作成後、クリック時イベントの[...]ボタンをクリックして[マクロビルダー]を選択してください。

マクロビルダーの選択

設定は、上記で解説したとおりで、以下と同じ順番の設定になればOKです。

クリック時イベントのマクロ

また、[キャンセル]ボタンは、以下のように[ウィンドウを閉じる]を設定します。

[オブジェクトの種類]の指定を省略した場合は、アクティブウィンドウが閉じられます。

[キャンセル]ボタンのマクロ

パスワード入力フォームの動作確認

パスワード入力フォームをフォームビューで開いて、パスワードを入力して設定したフォームが開くか確認してください。

パスワード入力の確認

また、パスワードが違う場合はメッセージボックスが表示されるかも確認してください。

パスワードが違う場合のメッセージボックスの確認

[キャンセル]ボタンをクリックすると、パスワード入力フォームが閉じると思います。

パスワード入力フォームが最大化で表示される場合

パスワード入力フォームが最大化で表示される場合は、フォームのプロパティから[ポップアップ]と[作業ウィンドウの固定]が[はい]になっているかを確認してください。

ボタン設置のフォームの設定によりますが、[いいえ]が選択されていると、最大化で表示されると思います。

フォームのプロパティの[ポップアップ]と[作業ウィンドウの固定]

[ポップアップ]と[作業ウィンドウの固定]については、以下の記事を参照してください。

フォームプロパティの[ポップアップ]と[作業ウィンドウ固定]

[OK]ボタンを[Enter]キーで操作できるようにするには

パスワードを入力した後に、[OK]ボタンをクリックしますが、[OK]ボタンを[Enter]キーで実行できると便利です。

[OK]ボタンのプロパティの[その他]タブにある[既定のボタン]を[はい]にします。既定は[いいえ]になっています。

[既定のボタン]とは、[Enter]キーを押すことでクリックした時と同じ処理をさせるボタンのことです。

ただし、設定できるのは、1つのフォームにつき1個のコマンドボタンです。1個のボタンを[はい]にすると、自動的に他のコマンドボタンは[いいえ]になります。

コマンドボタンのプロパティ[既定のボタン]を[はい]

メニューフォームなどにパスワード入力フォームが開くように設定

作成した[パスワード入力]フォームをメニューフォームの[フォームを開く]ボタンの[クリック時]イベントなどに、設定します。

パスワード入力フォームをボタンに設定

パスワード入力フォームを開いた時にテキストボックスがフォーカスされるようにする

パスワード入力フォームを開いた時、テキストボックスにカーソルがあると便利ですね。

タブオーダーで設定できます。

タブオーダーの設定

タブオーダーについては、以下の記事で解説しています。

フォームのタブオーダーとタブストップの設定

タブオーダーとは、キーボートの[Tab]キーや[Enter]キーを押して、カーソルがフォーム内のコントロールを移動するときの順番のことです。 ...

続きを見る

コードビルダー(VBA)で設定するには

イベントプロシージャでの設定は、以下の記事で解説しています。

パスワード入力フォームの作成

イベントプロシージャ

この記事内で設定した埋め込みマクロを[コードビルダー]を選択して、コードを書くとすれば、以下のようになります。

Private Sub コマンド1_Click()

If Me.パスワード = "123" Then
 DoCmd.Close acForm, "パスワード入力"
 DoCmd.OpenForm "F_社員"
Else
 DoCmd.Close acForm, "パスワード入力"
 MsgBox "パスワードが違います"
End If

End Sub

コードビルダーを選択してコードを入力

参考メッセージボックスで使用できるMsgBox関数については、以下の記事内で解説しています。いろいろ工夫してみてください。

メッセージボックスで[はい]が選択されたらアクションを実行する

Accessのフォームで[閉じる]ボタンを設置しても、メッセージボックスは表示されずにフォームは閉じられてしまいます。 [閉じる]ボタンをク ...

続きを見る

マクロアクションを使用するか、VBAを使用するかの違いについては、以下の記事で解説しています。

マクロアクション(マクロビルダー)とVBA(コードビルダー)

Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 10 & Office 2016 Access 2016

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.