アプリ版:「スタンプのみでお礼する」機能のリリースについて

いろいろなサイトを参考にアクセスを勉強しはじめたところです。


個人情報保護のためにログインユーザのみが自分の情報を閲覧できるようにしたいと思っています。
(商品テーブルがあったとして、八百屋さんがログインしたときは八百屋さんのデータだけを、、という感じに)

今のところはユーザ毎にログインしたIDが抽出条件になっていてそれをサブフォームに表示させたいと思っております。
VBAでログインIDを取得することまではできたのですが、それを抽出条件にする方法がわかりません。

例えばVBAで取得した結果をクエリの抽出条件に代入することは可能なのでしょうか?

抽象的な質問の仕方になってしまっているかと思いますが、、よろしくお願いします。

A 回答 (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のログオン名で選択されます。
ただし、大文字・小文字・全角・半角は同一視されます。
    • good
    • 1
この回答へのお礼

丁寧なお返事ありがとうございます。

そもそもアクセスがなんたるかを知らずにおそるおそるテーブルをつくって、、と作業を進めていて躓いて困っていたところでした。

頂いた回答をもとに上司(私同様にほとんど素人です)と相談したところ、

1・OSレベルのアクセス権で制御(ユーザー分ファイルを分割しなくてはならない)
→不可:端末管理は他部署担当のために依頼しても断られるとのこと

2・Accessのワークグループ情報に基づく制御
→不可:上記理由に加え、私が現場から離れても素人レベルでメンテナンスできるものをつくってくれとのこと

3・VBAで頑張って・・・
→苦慮中:いろいろ調べたのですが結局のところ、仰るとおりやはりわかってしまうようですね。。
教えていただいたように、environ("username")は試してもう一度上司にセキュリティ上の保証ができない確認をとって作業をつづけるか考えなおしてみようと思います。

ご丁寧にありがとうございました。

お礼日時:2011/03/27 10:41

クエリの条件とするには、


テーブルの値で結合か抽出条件に記載するかと思います。

案1)
ログイン者テーブルを作って、値(八百屋さんのID)を格納して、
八百屋さん、魚屋さん、おもちゃ屋さんらの元にするテーブルと、
項目結合すればできるのではないでしょうか。

案2)
global変数に格納したら抽出条件に記載できないか。


フォームなどでも画面のどこかに現在のログイン者を表示させるかと思うので、
mdbのどこでも使えるものとして確保したらいいのではと思います。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。

頂いた回答(案1)をすぐに試してみたのですが、私の技術がまだまだ初心者レベルのために四苦八苦しております。ツール作成の要件として、私以外の(ほぼ)素人がメンテナンスが可能なものをという指示があったのでそのラインぎりぎりかなと今は上司に方針を含めて確認をとっているところです。
(案2)については何度も失敗しながらようやく理解が進んできたところです(未だ成功には至っていませんが、、)。
少なくとも要求されている要件が入門者レベルの私には合っていないとよくわかったので合わせて上司に再度相談してみます。
個人情報の徹底管理・誰にでもメンテナンスできる簡易性、両方を満たすのは難しいのだと思いました。

お手間とらせて申し訳ありませんでした。
お返事ほんとうにありがとうございました。

お礼日時:2011/03/27 10:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す