SQL クエリに基づくフォームを作成する手順を教えてください。既にウィザードを使用してフォームをコンパイルしており、SQL クエリに基づいてそれを行う方法を見つけようとしています。独自のデザインを使用して、マスター詳細関係を使用してフォームを作成するだけでなく.
2 に答える
SQLクエリとはどういう意味ですか?
フォームをレコードセットにバインドしますか? その場合は、http://support.microsoft.com/kb/281998を参照してください。
レコード ソースに SQL Server ビューを使用しますか? リンクできます: http://office.microsoft.com/en-us/access-help/import-or-link-to-sql-server-data-HA010200494.aspx
レコード ソースを SQL 文字列に設定しますか? これは、手動または VBA を使用して行うことができます。
実際には、1 つのレコードでマスター フォームを作成し、アクセスでいくつかの子詳細レコードを編集したい場合、2 つのテーブルを結合するクエリを作成する必要があるという考えはおそらく間違っています。これがどれほど間違っているか強調することはできません。ほとんどのシステムはそうではありません。
実際、マスター レコードを子テーブルに結合する場合、10 個の子レコードがある場合、マスター レコードもそのクエリで 10 回繰り返され、マスター レコードの 10 回の複製のうちどれを結合したいか編集できますか?
したがって、マスター テーブルに基づくクエリを自由に作成できます。そのクエリは、子レコード データに結合する必要はなく、その必要もありません。このクエリを作成したら、ウィザードを自由に使用するか、デザイン モードでフォームを表示して、このクエリに基づいてフィールドをフォームにドロップします。完了したら、このマスター フォームを保存できます。これで、子テーブルに基づいて新しいクエリを作成できます。次に、この子テーブルに基づいてフォームを作成します。これが完了したら、子フォームをマスター フォームにドロップすることができ、ウィザードが完了したのと同じセットアップができます。
したがって、どちらの場合も、両方のアプローチでも、他のテーブルに結合する SQL クエリを作成する必要はまったくありません。また、ベース テーブルとは対照的に、フォームを構築してクエリに基づいて作成することには、特に利点はなく、パフォーマンス上の利点さえありません。また、子テーブルを編集する子フォームについても、子フォームを子テーブルに直接基づかせるか、クエリに基づかせることによる特別な利点やパフォーマンスの問題はありません。
したがって、親から子へのデータまたはマスターから詳細へのモデル化および編集および維持にアクセスする場合、2 つのテーブルを結合するクエリを使用する必要はありません。したがって、原則として、1 つのテーブルの結果であるクエリに基づいてフォームが作成されます。前述のように、テーブル自体に直接基づいてフォームを作成することはむしろ許容されます。