製品分析表を作成しています。
チェック項目が多く、305あります。大半がチェックボックスと5段階評価です。
フォームを分割すると入力するとき(複数人数)、操作が面倒になるように思えます。
何とかいい方法はないかと思案しています。
どうかよろしくお願いいたします。
質問としては、次のようになります。
1.SQLステートメント:クエリのフィールド数をオーバーした場合、
フィールドを追加する方法があるのかどうか。
2.フォーム画面を2つに分けた場合、ボタンで同じ製品の分析画面に移動
(フォームを表示)するにはどうすればいいか。
No.1ベストアンサー
- 回答日時:
1
Access自体の仕様上255までで、
それ以上はどんなにがんばっても増やせなかったかと。
それ以上になるのであれば、同条件の列違いのクエリを複数設けるとか、
PostgreSQLや、Oracle等、別のDBでの運用を考える等の検討が必要かと。
2
実現可能かどうかの検証等はしていないのでとりあえず「出来るかも?」での話ですが
(1)タブを用いる
ボタンではなくタブオブジェクトを使ってタブで表示フィールドの切り替えを行う。
フォームの扱いは同一画面なので、利用可能なフィールド数が足りるのかどうか。
(2)フォームの埋め込みを用いる。
フォームの埋め込みを用いて上述のタブもどきにする。
ボタンによって埋め込んだフォームの表示/非表示を操作。
問題点としては、どのように複数フォームに常に同じレコードの情報を表示させるか。となるかと。
同一フォームでレコードの移動があるとその辺りが問題になりそう。
この回答への補足
Accessの仕様を超える裏技はないかと甘い考えでいたのですが、
ないとわかって納得いたしました。
フィールについては、ビットマスクで問題を解決しました。
しかも1)タブを用いる、2)フォームの埋め込み
この2点を活用して、思い描いていた通りのものができました。
このたびは、いいお知恵をありがとうございました。
そうそうに回答ありがとうございます。
1)タブを用いる
当初はタブを切り替えるだけでひとつの画面でスマートに。と考えていたのですが
フィールドの制限があり断念した次第です。
2)フォームの埋め込みはさっそく試してみました。
埋め込んだサブフォームを単票にすると近いイメージなのですが、
それでもすべてのフィールドを入れることが不可能ではないかと思います。
私の力量とPC環境からAccessで何とか使えるものを作らなくてはならないので
もしまたいいお知恵がありましたらよろしくお願いいたします。
No.2
- 回答日時:
以下、代替案の提示になりますが・・・(汗)
> チェック項目が多く、305あります。大半がチェックボックスと5段階評価です。
チェック項目を『フィールド』で用意するのではなく、『レコード』として対応するのが、
Accessのような「リレーショナルデータベース」と呼ばれるものでは一般的な対処
法になるかと思います。
【例】
<フィールドで用意>
『成績一覧』テーブル
氏名 国語 算数 社会 理科 ・・・
鈴木 66 52 70 59
佐藤 83 65 81 74
田中 68 88 49 97
<レコードで対応>
『生徒一覧』テーブル
生徒ID 氏名
1 鈴木
2 佐藤
3 田中
『科目一覧』テーブル
科目ID 科目
1 国語
2 算数
3 社会
『成績一覧』テーブル
生徒ID 科目ID 点数
1(=鈴木) 1(=国語) 66
1 2(=算数) 52
1 3(=社会) 70
2(=佐藤) 1 83
3(=田中) 1 68
上記のように、1つの情報(ここでは生徒)に付随する別の情報群(ここでは点数)を、
レコードとして別のテーブルに管理してやれば、フィールドが削減され、結果として
フィールドごとに検索機能を用意する、といった必要性もなくなります。
(データ入力には、帳票型かデータシート型のフォームを使用します。
また、生徒ID・科目IDは、コンボボックスを使用すれば氏名・科目に変換できます)
なお、入力用テーブル(と入力用フォーム)は上記のようにした上で、検索結果の
表示(→編集はしない)は従来の形で対応したい、といった場合は、『クロス集計
クエリ』で対応可能です。
また、データベース設計時に設定済みの『フィールド』から、随時で新規追加が
発生しうる『レコード』での対応となるため、生徒の新規追加があった場合は、
各科目IDのレコード(点数は空白)を『成績一覧』テーブルに追加、といった手間は
発生します。
(生徒の新規登録画面で、生徒の登録に続いて、成績記録用のレコードを追加
するコードを記述してやれば、データ入力者の負担を増やすことはありません)
このように、従来suzupenさんがされていた管理方法とはだいぶ様相が違ってしまい
ますが(汗)、慣れてしまうことさえできれば、こちらの方法の方が使い勝手はよくなる
と思いますので、もしも時間と気持ちに余裕があるようでしたら、検討してみて下さい。
丁寧なご回答をいただきありがとうございます。
今回の件については、なんとか別の方法で回避いたしましたので
今後の向学の参考にさせていただきます。
また機会がありましたらよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessテキストボックス内に2つのフィールドの値を比較して大きい方の値を表示させる方法 1 2022/09/09 10:50
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
Accessでレコードの保存をせず...
-
access レコード数が増えない、...
-
ACCESSでフォームを使って、テ...
-
Accessでチェックボックスで抽...
-
Accessでのデータ消滅に...
-
ACCESS起動時に所定フォームを...
-
AccessVBA RecordSourceのリセ...
-
Access 更新キャンセルするには?
-
アクセスの自動保存解除はでき...
-
アクセス データの競合を非表...
-
アクセスでフォームビューがみ...
-
Accessで上の行を自動でコピー...
-
ACCESS2000の条件付...
-
Access:フォームプロパティ「...
-
フィルタ後のフォームの件数の...
-
ACCESSのクエリで抽出したデー...
-
新規レコード行を非表示にしたい
-
Accessで一件の新規レコードの...
-
Accessで新しいレコードに規定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
ACCESSでフォームを使って、テ...
-
アクセスでフォームビューがみ...
-
新規レコード行を非表示にしたい
-
フィルタ後のフォームの件数の...
-
アクセスの自動保存解除はでき...
-
Accessで上の行を自動でコピー...
-
Accessでレコードの保存をせず...
-
AccessVBA RecordSourceのリセ...
-
ACCESS起動時に所定フォームを...
-
レコード削除時に(サブ)フォー...
-
Access2010、値を入力したら自...
-
Accessで一件の新規レコードの...
-
Accessでフォーム上に 直前の...
-
ACCESSフォームのリストボック...
-
Access サブフォームにフィルタ...
-
Accessで新しいレコードに規定...
-
Accessでのデータ消滅に...
-
Access:フォームプロパティ「...
-
Access レコード移動時イベント...
おすすめ情報