こんばんわ。
現在、リソースの管理方法を改善する目的でExcelからAccessに移行を検討しています。
そこでAccessのサブフォームを使って以下のような画面イメージで管理しようと考えています。
そこで2点、実現方法について皆様からお知恵を分けていただきたいです。
(1)サブフォーム上に全てのレコードが表示する方法。
※テーブルにはこれまで所属していた人を含めたデータを保存している
※所属や拠点でレコードの絞り込みをかける
(2)表示されたレコード内容を修正して、チェックしたレコードは一括登録のボタンなどで一度に複数
同時に修正を行う方法。
どのような操作や設定を行うことで実現できますでしょうか。
クエリ集やExcelとAccessのスゴ技のような本を買ってもそのような方法は見当たりませんでした。
みなさまのお知恵をお貸し頂きたく存じます。
どうぞよろしくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
補足1:非連結フォームを意図していなければ・・・。
それは、単に、「条件付きでクエリーを表示するには?」という質問になります。
もちろん、非連結フォームですから一括更新ボタンは必要ありません。
「各行が変更されたら自動的にテーブルに反映される」ということを認めるだけです。
補足2:連結フォームを意図しているのならば・・・。
その場合は、指定条件で一時テーブルを作成して表示・更新。
チェック付きのみ更新をテーブルに反映。
こういうコードを書くことになります。
PS、「条件付きでクエリーを表示するには?」という質問に変えられて良いのでは・・・。
No.2
- 回答日時:
(2)の要件を含めると質問文から予想される技術力では無理ではないかと思います。
VBAをいくらか使えればどうってことない内容なのですが。
VBAありの場合ですと以下のように私なら実装します。
1.サブフォームは使わない。フォームのヘッダー部分を条件入力に使い、詳細部分を表形式でデータ表示に使用する。
2.(2)の要件(選択したもののみ更新)があるため、フォームのレコードソース用に表示したいテーブルの項目+チェックボックス用の項目を持ったワークテーブルを用意する。これをフォームのレコードソースに使用する。
3.フォームのオープン時のイベントで、ワークテーブルのデータ消去、元のテーブルからワークテーブルに全データをコピー(削除クエリ+挿入クエリで簡単にできます)
4.絞り込み用のボタンを用意し、それが押された際にフォームにフィルタをかける。
(イメージを見ると複数条件があるようですので、条件式の組み立て処理は必要でしょうね)
5.データの更新用ボタンを用意し、それが押された際に、チェックがついたものだけ更新する更新クエリを実行する。
ちゃっちゃと作るなら上のように実装します。(私なら1時間かかるかどうかです)
なお、更新以外に行の追加、削除がある場合にはもう少し面倒なことになります。
VBAではなくマクロ(今もありますよね?)+クエリの使用でも上記の1,2,3,5は可能かな?
4の絞り込みに関して複合条件での絞り込みの実現イメージがわかないのですが。絞り込みが1条件のみならマクロまでの知識で実現はできるかもしれません。(私はVBAにたよるのでマクロはほぼ使わないので断言できませんが
VBA、マクロを使わない場合には、(2)の要件の「選択したもののみの一括更新」はあきらめるべきでしょう。
また、テーブル設計もデータ構造としては不適切と思われる部分がありますので指摘しておきます。
(わかっていてこの構造を選んでいるのかもしれませんが)
項目のうち「社員番号、社員名、入社日、退社日」は通常は各社員について1つしかないデータと考えられます。(結婚等での氏名変更は無視しますが)
これに対し一人の社員は複数のプロジェクトに通常参加しますので「勤務地、所属グループ、所属チーム、職位、プロジェクト番号、参画プロジェクト」は同一の社員に複数存在するデータです。
データ構造としては社員の基本情報「社員番号、社員名、入社日、退社日」とプロジェクト参加情報「社員番号、勤務地、所属グループ、所属チーム、職位、プロジェクト番号、参画プロジェクト」の2つに分けるのが一般的です。
(細かいことを言うとプロジェクト情報として「プロジェクト番号、参画プロジェクト」も分割したりしますが)
No.1
- 回答日時:
Q、みなさまのお知恵をお貸し頂きたく存じます。
A、テーブル設計の概要を説明されたし!
1、サブフォーム???
メインは単なる検索条件を入力するフォームということ。
それはそれで良いかも?
でも、なぜ、そういう風になるのかな?
普通は、考えられないこと。
2、メインを基にサブフォームを更新したい??
レコードを移動すれば自動更新される。
このAccessの機能を殺したい。
となれば、非連結サブフォーム?
でも、それは滅茶苦茶に面倒くさいのでは?
なぜなら、Accessの機能を全て自分の書いたコードで実現する試みだから・・・。
疑問1、メインとサブとをどのように認識されているのか?
疑問2、そもそもテーブル設計が全てだと思うのだが・・・。
なぜゆえに、サブフォームの質問が先行しているのか?
疑問3、非連結フォームなんてオフコン出身者の発想。
なぜに、そのような面倒臭いことをやろうというのか?
色々と疑問はありますが、テーブル設計の簡単なスケッチを提示。
それが先決だと思いますよ。
※私は、全くの素人。見当違いはお許し願いたい!
この回答への補足
早速のコメントありがとうございます。
疑問に挙げられていた内容にお答えしますと、
(1)メインとサブとをどのように認識されているのか?
→メインフォームでは絞り込みの項目があり、
サブフォームに絞り込みで該当するレコードが表示されます
(2)なぜゆえに、サブフォームの質問が先行しているのか?
→検索を行う場合はメインで検索項目を決め、サブフォームにその結果を
表示するという使い方をするとクエリ集に書いてあった為です
(3)非連結フォームなんてオフコン出身者の発想。
→これは完全に私自身がAccessの素人である点が大きいです。
もちろんサブフォームを使わないで、投稿させていただいた挙動が
実現できれば、問題はありません。
以上と併せて、テーブル設計の簡単な構成を書きますと、以下のようなイメージです。
|社員番号|社員名|勤務地|所属グループ|所属チーム|職位|プロジェクト番号|参画プロジェクト|入社日|退社日|
これらのテーブルをグループやチーム、プロジェクトなどで絞り込みをかけて、
表示されたレコードのうち、変更させたい情報を修正して、修正ボタンを押すと
一括でテーブルに修正が反映されるという挙動を考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Accessのサブフォームから値を...
-
サブフォームが見えなくなる。
-
Access2000 サブフォームのReco...
-
access サブフォームにリストを...
-
Access2000、これはいったい・...
-
Access 複数フォームを...
-
Access ウィンドウサイズの変更
-
Accessでのフォーム表示がうま...
-
Accessのサブフォーム内で連続...
-
Accessで、一覧からクリックし...
-
サブフォームからメインフォー...
-
初心者です。accessで請求書を...
-
ACCESSのフォーム内のレコード...
-
ACCESSでfilterとorderbyについて
-
サブフォームでフィルタしたデ...
-
ACCSESS2013VBA フォームのレコ...
-
アクセスでサブフォームのレコ...
-
2回目に画面のレコードセットの...
-
Access2007 サブフォームでフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access2000、これはいったい・...
-
Accessのサブフォームから値を...
-
Access 複数フォームを...
-
ACCSESS2013VBA フォームのレコ...
-
(ACCESS)条件に応じて、テキ...
-
Access2000 サブフォームのReco...
-
access サブフォームにリストを...
-
アクセスでサブフォームのレコ...
-
サブフォームが見えなくなる。
-
サブフォームのデータを保存す...
-
AccessのFormのみをスクリーン...
-
レコードセットで得た結果をサ...
-
Accessでのフォーム表示がうま...
-
サブフォームの切り替え方を教...
-
2回目に画面のレコードセットの...
-
ACCESSでfilterとorderbyについて
-
Accessで、一覧からクリックし...
-
Accessのサブフォーム内で連続...
-
googleフォームでインストール...
おすすめ情報