Accessでは、単純な内部結合のクエリを元にフォームを作った時、データの追加・更新・削除ができますよね? そして、外部結合や選択クエリが混ざってくるとできなくなりますよね?
いろいろな本を漁ったのですが、そのような場合、フォームを非連結にしてVBAでがりがり処理する事になってしまっています。 やはりVBAを使わないといけないのでしょうか?
どうせVBAを使わないといけないというのなら、出来れば汎用性の高いオブジェクトにしてしまいたいのですが、スキルがありません。(笑)
何とぞアドバイスを。
No.1ベストアンサー
- 回答日時:
汎用性の高いオブジェクトにするには
初期設計がすべてでしょう。
項目名、テーブルの正規化、など、、、
もともとリレーショナルデータベースでは
テーブル同士が1対多で結合する場合が大半です。
ですから「多」側のレコードが操作される場合は
「多」の中のどのレコードが操作されたかを
[フォーム].[レコードソース]から判断するには
情報不足になっている場合がほとんどだからです。
つまり、[フォーム].[レコードソース]として指定した
SQL文ないしはクエリーがすでに情報不足な状態に
なっているのです。
VBAを使うしかないでしょう。
この回答への補足
その後、読書したり講習会に出たりしまして、いろいろと考えが変わりました。
汎用性の高いオブジェクトを設計するくらいなら、Accessの中でやるよりもむしろAccessを部品として使った方が良さそうですね。(笑)
ありがとうございました。
ご回答ありがとうございます。
やはり避けて通れませんか… Access2000の仕様として無理なのですね…
ところで、
「Access2000+MSDEによる仕入買掛システムの構築」山田健一 著、技術評論社 刊
と言う本のサンプルプログラムに、
“レコードセットに含まれる全てのフィールドに対し、テーブルフィールド名と等しく名付けられたコントロールのフォーム変数に値を代入する。(前提としてフォーム中に全てのフィールド名と同名のコントロールが存在しなければならない。)”
というような仕様のサブプロシ-ジャ例が載っているのですが、アルゴリズムとしてはこれがベストなのでしょうか?
もしよろしければご見解を伺いたく存じます。
以上、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
ACCESSでフォームを使って、テ...
-
新規レコード行を非表示にしたい
-
Accessでフォーム上に 直前の...
-
フィルタ後のフォームの件数の...
-
アクセスでフォームビューがみ...
-
レコード削除時に(サブ)フォー...
-
Accessで一件の新規レコードの...
-
Accessで上の行を自動でコピー...
-
Access 「このレコードを保存す...
-
Access レコード移動時イベント...
-
AccessVBA RecordSourceのリセ...
-
Accessでレコードの保存をせず...
-
Accessで新しいレコードに規定...
-
Accessでのフィールドの並び替え
-
Access 更新キャンセルするには?
-
Access非連結フォームから複数...
-
アクセス 前レコード内容を、...
-
異なるフォームに属する関数間...
-
Access2010、値を入力したら自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
ACCESSでフォームを使って、テ...
-
アクセスでフォームビューがみ...
-
新規レコード行を非表示にしたい
-
フィルタ後のフォームの件数の...
-
アクセスの自動保存解除はでき...
-
Accessで上の行を自動でコピー...
-
Accessでレコードの保存をせず...
-
AccessVBA RecordSourceのリセ...
-
ACCESS起動時に所定フォームを...
-
レコード削除時に(サブ)フォー...
-
Access2010、値を入力したら自...
-
Accessで一件の新規レコードの...
-
Accessでフォーム上に 直前の...
-
ACCESSフォームのリストボック...
-
Access サブフォームにフィルタ...
-
Accessで新しいレコードに規定...
-
Accessでのデータ消滅に...
-
Access:フォームプロパティ「...
-
Access レコード移動時イベント...
おすすめ情報