いろいろなサイトを参考にアクセスを勉強しはじめたところです。
個人情報保護のためにログインユーザのみが自分の情報を閲覧できるようにしたいと思っています。
(商品テーブルがあったとして、八百屋さんがログインしたときは八百屋さんのデータだけを、、という感じに)
今のところはユーザ毎にログインしたIDが抽出条件になっていてそれをサブフォームに表示させたいと思っております。
VBAでログインIDを取得することまではできたのですが、それを抽出条件にする方法がわかりません。
例えばVBAで取得した結果をクエリの抽出条件に代入することは可能なのでしょうか?
抽象的な質問の仕方になってしまっているかと思いますが、、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
折角のやる気に水をさすようで残念ですが
VBA でどんなに足掻いても、所詮はAccessですから
それなりのモノにしかなりませんよ。 キッパリ
セキュリティの観点から考えると
1・OSレベルのアクセス権で制御(ユーザー分ファイルを分割しなくてはならない)
2・Accessのワークグループ情報に基づく制御
MDBファイルであれば有効ですがACCDBではなくなってしまいました。
Access 2003 のユーザーレベル セキュリティを Access 2010 で設定または変更する
http://office.microsoft.com/ja-jp/access-help/HA …
またユーザーごとにテーブルを分けなくてはなりませんので
後々管理が煩雑になると思います。
3・VBAで頑張って、最終的に、MDE か ACCDEにしても
分かる人には分かっちゃうので、余り期待しないほうが良いかと。
それを踏まえたうえで、クエリの抽出条件に
environ("username")
としてみてください。Windowsのログオン名で選択されます。
ただし、大文字・小文字・全角・半角は同一視されます。
丁寧なお返事ありがとうございます。
そもそもアクセスがなんたるかを知らずにおそるおそるテーブルをつくって、、と作業を進めていて躓いて困っていたところでした。
頂いた回答をもとに上司(私同様にほとんど素人です)と相談したところ、
1・OSレベルのアクセス権で制御(ユーザー分ファイルを分割しなくてはならない)
→不可:端末管理は他部署担当のために依頼しても断られるとのこと
2・Accessのワークグループ情報に基づく制御
→不可:上記理由に加え、私が現場から離れても素人レベルでメンテナンスできるものをつくってくれとのこと
3・VBAで頑張って・・・
→苦慮中:いろいろ調べたのですが結局のところ、仰るとおりやはりわかってしまうようですね。。
教えていただいたように、environ("username")は試してもう一度上司にセキュリティ上の保証ができない確認をとって作業をつづけるか考えなおしてみようと思います。
ご丁寧にありがとうございました。
No.1
- 回答日時:
クエリの条件とするには、
テーブルの値で結合か抽出条件に記載するかと思います。
案1)
ログイン者テーブルを作って、値(八百屋さんのID)を格納して、
八百屋さん、魚屋さん、おもちゃ屋さんらの元にするテーブルと、
項目結合すればできるのではないでしょうか。
案2)
global変数に格納したら抽出条件に記載できないか。
フォームなどでも画面のどこかに現在のログイン者を表示させるかと思うので、
mdbのどこでも使えるものとして確保したらいいのではと思います。
早速のお返事ありがとうございます。
頂いた回答(案1)をすぐに試してみたのですが、私の技術がまだまだ初心者レベルのために四苦八苦しております。ツール作成の要件として、私以外の(ほぼ)素人がメンテナンスが可能なものをという指示があったのでそのラインぎりぎりかなと今は上司に方針を含めて確認をとっているところです。
(案2)については何度も失敗しながらようやく理解が進んできたところです(未だ成功には至っていませんが、、)。
少なくとも要求されている要件が入門者レベルの私には合っていないとよくわかったので合わせて上司に再度相談してみます。
個人情報の徹底管理・誰にでもメンテナンスできる簡易性、両方を満たすのは難しいのだと思いました。
お手間とらせて申し訳ありませんでした。
お返事ほんとうにありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(クラウドサービス・オンラインストレージ) おすすめのパスワードマネージャは? 1 2023/02/28 20:09
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) 【詳しい方教えて下さい】EXCEL条件に一致する値の複数抽出 9 2022/04/29 10:56
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
Accessでフィルタの実行アクシ...
-
Access 2段階のクエリの作り方
-
ACCESSで、EXCELのような、sumi...
-
(続き)accessでの2段階クエリの...
-
パラメータ入力。
-
アクセスのフォームに連番を表...
-
AccessでIDを入力したら他の項...
-
Access サブフォームでの選択行...
-
未審査請求包袋抽出表作成とは...
-
ACCESS 複数のフォームから同一...
-
エクセルで、抽出したデータだ...
-
前のレコードの値を自動で入れたい
-
googleフォームでインストール...
-
ACCESSのクエリー抽出条件にIIF...
-
.flex-direction プロパティは...
-
Accessフォームが入力できません。
-
アクセス 同じフィールド(テキ...
-
「パラメータが少なすぎます。3...
-
サブフォームが見えなくなる。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
AccessでIDを入力したら他の項...
-
ACCESSで、EXCELのような、sumi...
-
Accessクエリの抽出条件にフォ...
-
クエリ実行結果0件の場合のフ...
-
ACCESS2003のグループ化のエラ...
-
クエリーの結果をフォームに表...
-
ACCESS フォームで抽出したデー...
-
サブフォームを利用したクエリ...
-
ACCESS2007 マクロ クエリのパ...
-
access クエリでIIF文で抽出条...
-
VarChar型をINT型に変換するには
-
ADOレコードセットのコピー
-
アクセスのフォームに連番を表...
-
ACCESSで、フォームで抽出した...
-
ACCESS クエリのデザインビュ...
-
Accessで月ごとのレポートを出...
-
Accessでフィルタの実行アクシ...
-
AccessのフォームをExcelに出力
-
フォームからクエリの抽出期間...
おすすめ情報