私は同時に、Delphi のデータベース アーキテクチャと [MS-Access] SQL について独学しています。テーブルと DBGrid を結び付ける方法を理解しており、グリッド内の変更が基になるテーブルに自動的に編集、挿入、追加、更新、投稿などされる方法を楽しんでいます。
また、[ADO]クエリを開いて実行し、結果のデータをグリッドに表示する方法も理解しています。
クエリ結果を表示する DBGrid を編集してテーブルを変更することについて、私がずっと気になっていること。私のオンライン検索では、クエリ結果が編集されている場所で見つかったすべての例には、「SELECT ... FROM oneTable」よりも複雑ではないクエリが含まれているようです。DBGrids は、個々のテーブルのみを操作したり、クエリ結果を表示したりするためのもののようです。
私自身、2 つ以上のテーブルを含むクエリ結果を操作しようとすると、常に何らかのエラーが発生します (キー列情報が不十分、パラメーターが欠落している、またはその他のメッセージ)。何か基本的なことが欠けているように感じます。または、DBGrid が個々のテーブル以外の編集に使用されることはめったにありません。私が欠けているものを学ぶために私が探すかもしれない提案はありますか? 最も一般的に提案されているリンク (delphi.about.com の db レッスンなど) は、この問題に対処していません。
編集: Remou の応答は、私が抱えていた問題を説明するのに大いに役立ちます。したがって、MS-Access db だけを超えて一般化することで、質問を少し編集します。他の一般的なデータベースで DBGrid を介して複雑なクエリを更新できますか?