人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ACCESSの質問です。庶務課や経理課等、様々な部署のデータをフォームから閲覧できるようにしてあるのですが、メインスイッチボードにコマンドボタンを配置し、そのコマンドボタンでフォームを開く際、経理課だけのデータをフォームに表示させるようにしたいです。庶務課だけのフォームや経理課だけのフォームをいちいち作るのではなく、コマンドボタンにフォームを開くとともに特定のレコードの選択機能(ここでは経理課を抽出する)を持たせたいのです。マクロやモジュールを作るのではなく、プロパティをいじる、もしくはイベントのビルド等、もっともシンプルな方法でこれらを実現する方法を教えてください。よろしくお願いします。
なお、コマンドボタンを作る際、ウィザードの最後の方で「特定のレコードのみを表示する」というようなラジオボタンがあったので、これがその機能かな?と思ったのですが、「関連づけがなされていない?」というようなメッセージが出てその機能が利用できません。他に方法はないでしょうか?

●質問者: July_Star
●カテゴリ:コンピュータ
✍キーワード:けが イベント ウィザード コマンド シンプル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● らいず
●28ポイント

フォームがどのようなものかわからないので、フォームに関しては触れないでおきます。

もし、データをスプレッドシートのように(エクセルのように)表示させる程度でよければ、抽出条件を設定したクエリをボタンから呼び出すようにボタンのウィザードを利用して作成してはいかがでしょう?

そうすれば、クエリが表示されるのでフォームを作る必要もないし、マクロなども作成する必要はないですよ。

◎質問者からの返答

ありがとうございます。


2 ● kn1967
●42ポイント ベストアンサー

質問文章から『各部署のデータが全て1つのテーブルの中に入っている』と仮定して回答いたします。


『特定のレコードを表示する』を利用したい場合はボタンを造る前に

部署を指定するためのテキストボックスを作っておく必要があります。

※テキストボックスが無いために「選択されたフォームをリンクすることは???」というエラーが出たのです。

※テキストボックスは非連結でも構いません

※テキストボックスではなくコンボボックスやリストボックスでもOKです。

※部署一覧テーブルを造っておいてコンボボックスやリストボックスのソースに指定しておけば、

部署構造が変わってもテーブルのデータを変えるだけでフォームの改変は不要になります。

今回は部署なので変更はまず無いと思いますが従業員単位でデータを絞りたいといったような場合に重宝しますよ。


マクロやモジュールを造るのではなく、もっともシンプルな方法としては、

上に書きましたように部署の一覧が入っているリストボックスを用意して、

その中から1部署を選択してボタンを押すという仕組みにしてしまうことですが、

どうしても、ボタンだけで処理したいということであれば、コードを作ることになります。

上記の仕組みで造ったボタンのコードを以下に書きます。

Private Sub コマンド1_Click()
On Error GoTo Err_コマンド1_Click
  Dim stDocName As String
  Dim stLinkCriteria As String
  stDocName = "テーブル名"
  stLinkCriteria = "[部署名]=" & Me![部署名]
  DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_コマンド1_Click:
  Exit Sub
Err_コマンド1_Click:
  MsgBox Err.Description
  Resume Exit_コマンド1_Click
End Sub

上記のボタンを庶務課用にしたければ一部を次のように書き換えます。

  stLinkCriteria = "[部署名]=庶務課"
◎質問者からの返答

ありがとうございます!まさに最後のボタンのコードが目的にぴったりです!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ