Baseの複数テーブル対象に、フォームでデータを編集する方法 †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | YYYamada |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2007-10-02 09:38:51 (火) |
OS | 2k,XP |
依存するページ | faq/1/101 Issue #53377 3.3で修正 |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
Baseではクエリを構築するとデータの編集ができません。複数のテーブル(リレーションしている)に、1つのフォームでデータの編集を行う方法を教えてください。
クエリーを基にしたフォームが編集できない件 †
M.Kamataki (2007-10-02 11:12:49 (火))
複数テーブルから作成したクエリーを基にしたフォームで編集できない件は、IssueTrackerに登録されており、いずれ改善される予定です。
"Creating a form for a multi table query does not allow updating"
http://www.openoffice.org/issues/show_bug.cgi?id=53377
現在の対応策は次のタイトルで。
サブフォームを使う方法 †
M.Kamataki (2007-10-02 11:23:32 (火))
クエリーとは別にBaseにはリレーションシップを作成できる機能があります。メニューの[ツール]−[リレーション]を選ぶと、リレーションデザインが起動します。この画面で、メインテーブル、サブテーブルのリレーションを設定します。
メイン、サブのリレーションの関係が「1対n」であれば、フォームウィザードのステップ2の「既存のリレーションに基づいたサブフォーム」欄にサブテーブルが見えるはずです。このサブフォームを選べば、少なくとも2つのテーブルでリレーションされたフォームが完成し、両方のテーブルの編集が可能になります。
なお、関連する過去の質問として以下を上げておきます。
サブフォームで確認 †
YYYamada (2007-10-02 16:23:25 (火))
早速の回答ありがとうございます。メイン、サブフォーム構成で2つのテーブルのデータが変更できることを確認しました。現在3つのテーブルを対象にシステムを構築していますが、工夫してみます。
完了にします †
M.Kamataki (2007-10-08 10:43:19 (月))
コメントいただきましたので完了にします。
ターゲットが3.0に †
M.Kamataki (2008-03-01 10:33:13 (土))
昨年11月にターゲットが3.0に決まったようです。
ターゲットが3.xに変更 †
M.Kamataki (2008-04-29 10:17:12 (火))
コードの変更が大きく、3.0に間に合わせるためには危険、という理由で先延ばしになりました。
ターゲットが3.3に決定 †
M.Kamataki (2010-02-17 17:28:35 (水))
もうIssueはすでに修正済みです。Baseユーザーにとっては待望の機能追加となりそうです。
3.3で修正確認 †
M.Kamataki (2010-08-19 20:23:05 (木))
2つのテーブルをリンクしたクエリーの編集が3.3開発版で可能なことを確認しましたが、まだ実用的とは言えません(実質更新されたのは片方だけのテーブルだったり、更新時にエラーが表示されたり。。。)。まだ、サブフォームを使ったほうがまともなテーブルの更新が行なえます。
新たなIssueを登録したほうが良いのではと、思いました。