• ベストアンサー

【ACCESS】コマンドボタンのクリック(イベント実行)の権限

フォームにある数あるコマンドボタンの中の、1つのコマンドボタンにだけ権限を設けて、管理者だけがクリック(イベントを実行)できるようにしたいのですが、どうやったらいいのか分かりません。 クリックすると、パスワード入力のINPUTボックスが表示されるってのは可能でしょうか? もし可能であれば、方法を教えてください。 また不可能であれば、できるだけ簡単にイベント実行の権限を設けたいので、教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

No2 の人から回答がないようなので、代わりにお答えしましょう。 >DBはmdeにして、コードを参照不可にする というのは、プログラムでどうこうするということではありません。 メニューのツール→データベースユーティリティ→MDEファイルの作成 で、MDBファイルをMDEファイルに変換してやると、コードの中身が見れなくなります。 If XXXX = "PA4819" Then ... のように記述しても、MDEにしてやるとコードに記述しているパスワードが見れないので大丈夫なんじゃないでしょうか、ということですね。 この方法だと、パスワードを変更しようとするとコードを修正しなければならないですけど・・・

_shino_
質問者

お礼

ありがとうございます。 やってみたいと思います。

その他の回答 (2)

  • uekuni
  • ベストアンサー率0% (0/1)
回答No.2

管理者を何で判断するかによって方法が変わって きますが、最も簡単であるのは、クリックのイベント にて、INPUT BOXを表示させて、パスワードを 設定させる事でしょうか。 パスワードの管理はVBAにハードコーディングして DBはmdeにして、コードを参照不可にする事で 可能ではないでしょうか。 INPUT BOXの使用方法はHELPにて 確認して下さい。

_shino_
質問者

補足

>パスワードの管理はVBAにハードコーディングして DBはmdeにして、コードを参照不可にする事で 可能ではないでしょうか。 VBAを勉強中ですが、まだまだ初心者なので、 VBAでどのようなprogramを組んだらいいのか、 いまいちよく分かりません。 もしよろしかったら、教えていただけませんか。

回答No.1

アクセスのユーザーアカウントは作成されているのでしょうか?アクセスのユーザーを使用するのなら、フォームのロード時にカレントユーザーが管理者かどうかを調べてコマンドボタンの .Enabled プロパティを設定してやればいいんじゃないでしょうか。 Private Sub Form_Load() If CurrentUser = "Admin" Then コマンド1.Enabled = True Else コマンド1.Enabled = False End If End Sub

_shino_
質問者

補足

ありがとうございます。 試してみたいと思います。

関連するQ&A

  • VB6 コマンドボタン クリックイベントについて

    教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。

  • access フォームのコマンドボタンをマクロ実行

    access97 フォームの中のコマンドボタンをひとつのマクロで実行したい お世話になります 上記表題のように現在access97をwindowsXP sp3で使用しています ここで例えば フォーム Aというフォームのなかに コマンドボタンBが 設置されているとします コマンドボタンBをワンクリックするとイベントプロシージャーCが実行されるとします お尋ねしたいのは ひとつのマクロDによって 上記 一連の操作をしたいのですが マクロをデザインビューで開きますと まず アクションにおいて フォームを開く 下左のダイアログに フォームの名称に コンボリストから Aを選択します 次に このコマンドボタンBを実行するために このマクロDのデザインビューにおいて 以下の行のアクションに どのように 入力したら よいものか 御教示願いたいです コマンドの実行 から できるかなと 思ったのですが 適切な項目がリストから 表示されません 御存じの方 宜しくお願い致します access97以降の新しいバージョンでのご解説でも参考になりますので 宜しくお願い致します

  • コマンドボタンがきかなくなる

    アクセスのフォーム上にコマンドボタンがいくつかあります。 たまにですが、コマンドボタンを押しても何も反応しなくなる時があります。 プロパティでクリック時に[イベント プロシージャ]と書いてあり、 VBE画面を見てみると ちゃんとイベントが記載してあります。 しかしフォームビューにしてそのコマンドボタンをクリックすると何も起きません。 新規にコマンドボタンを作って、vbe画面で同じイベントを張り付けると 新規のコマンドボタンのほうではクリックしてイベントが実行されます。 だから、その新規のコマンドボタンの名前を変えて使い続けるのですが、 しばらくするとほかのコマンドボタンがまたきかなくなる時があります。 これはアクセスのバグでしょうか? 原因がわかりません。 バージョンは2010です。

  • アクセスで条件によるコマンドボタンの使い分け。

    いつもお世話になります。 アクセス2003で納品管理を作成中ですが、商品のレコードに「不使用」のチェックボックスと「注文入力」のコマンドボタンがあります。この「不使用」のチェックボックスがOnの場合は「注文入力」のコマンドボタンをクリックできないようにしたいと考えています。 フォームの形式は帳票フォームになっていますのでそれぞれのレコードによってコマンドボタンがクリックできるものと、できないものにしたいのですが、可能でしょうか。(できたらそのレコードは色も暗くしたいのですが。。。) どなたかご教授よろしくお願いいたします。

  • クリックイベントは実行されない

    サブフォームのテキストボックスにクリックイベントでVBAを実行するようにしてるのですが クリックしても何も反応がありません。 だけど試しに同じテキストボックスに、フォーカス取得後のGotFocusイベントを[イベント プロシージャ]で選択してみましたが テキストボックスにフォーカスが触れるとイベントが実行されます。 なぜクリックイベントは実行されないのでしょうか? サブフォームは帳票フォームです。それ関係ありますか?

  • コマンドボタン

    よくわからないのですが エクセルのコントロールツールボックスのコマンドボタンだとイベントはたくさんあるけど、 フォームのコマンドボタンだとクリックボタンしかないのですか? フォームのコントロールはコントロールツールボックスの劣化版と言う感じですか? 添付画像の事です。

  • Access コマンドボタンクリックでサブフォームに結果表示

    Access初心者です。 フォームに50音順コマンドボタンを作成、 コマンドボタンの「あ」をクリックしたら、下のサブフォームに 「あ」から始まる名前を表示したいのです。 サブフォームに表示するクエリの抽出条件にどのようにを入力するのでしょうか?あいまい検索?? コマンドボタンのイベントからマクロを作成するのでしょうか? すごく初歩的な質問ですね、、、お恥ずかしい どなたか教えていただければうれしいです。

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • ACCESSのイベントで

    こんにちは。 ACCESSのフォームに、テキストボックスと コンボボックスがいくつかあり、 コマンドボタンが1つあります。 コマンドボタンを押す(クリック)すると、 その直前までアクティブだったコントロールの 名前(cmb○○ or txt○○ にしてます)が 知りたいのです。 どうすればよいでしょうか。お願いします。 ちなみに1つのフォームにコントロールが20~30あり、 そういうフォームが30~40こあるので、 そのコントロールに1つ1つイベントを 追加していく(forcusイベント等で変数に代入していく) 方法以外でお願いします。 なにしろ、全部で1000こ近くあるので・・・

  • ACCESS コマンドボタンが使えない・・・

    フォームに配置したコマンドボタンが「現在このアクションを実行できません」のメッセージが出て使えなくなります。 マクロを割り当てて作ったコマンドボタンも同様で、「他の作業を実行しているためにこのアクションを実行できません・・」とメッセージが出ます。 最初、フォームを開いたときは問題なく使用できます。フォーム上のコンボボックスに入る値を、クエリから拾っているのですが、その値を別フォームで新規登録しようとするときに発生するみたいです。 他の作業を実行中とありますが、何を実行中で止まってしまうのか、調べる方法はないでしょうか? 良いお知恵をお貸し下さい。お願いいたします。