非常に巨大なMSAccessアプリケーションを再設計することを計画しています。同じアプリケーションで同時に作業する方法はありますか、または同じファイルの2つの別々のインスタンス(データではなく、フォームとコード)をマージすることは可能ですか?現在、Accessにはデータが含まれていますが、将来のバージョンではMySQLがデータをホストし、Accessはフロントエンドのみになります(ODBC経由)
3 に答える
はい、同時に複数の開発者がアプリケーションに取り組んでいる可能性があります。
私たちのソフトウェア業界では、これは通常、ソースコード管理システムと呼ばれるものを使用して実現されます。または、しばしば私たちがソースコード預託者と呼ぶもの。
ソースコード管理システムを使用すると、複数の開発者が同じドキュメントセット、この場合は同じ時間の同じアプリケーションで作業できるようになります。
これがどのように機能するかというと、1人の開発者がいくつかのレポート、いくつかのモジュール、フォームなどを「チェックアウト」できるということです。現在、彼はその期間中にそれらのモジュール、コード、フォームを所有しています。「チェックアウト」されたパーツをチェックアウトして変更することは、他の誰にもできません。実際、大規模なソフトウェア会社では、何百人もの開発者が同じプロジェクトに取り組んでいる可能性があり、多くの場合、書かれていない行動規範があり、マスタービルドに何かをチェックインし、それがバグを引き起こす場合は、あなたがそれを修正するまで家に帰りなさい!言い換えれば、アプリケーションを壊す原因となるコードをアプリケーションにチェックインしないでください。ソフトウェア業界で呼ばれている「ビルドの中断」は、一部のソフトウェアの場所ではNONOです。あなたはそれをする人になりたくありません!
したがって、MSAccessはソースコード管理をサポートしていることに注意してください。これらの追加オプションが表示される前に、アクセス用の開発者拡張機能をインストールする必要があります(もちろん、Visual Studioソースコード管理システムをインストールすることも前提としています)。
アクセス2003のスクリーンショットを次に示します。フォーム上のいくつかのオブジェクトの横にある小さなチェックボックスに注目して ください。代替テキストhttp://www.members.shaw.ca/AlbertKallal/vss/Image2.gif
そしてここに別のショットがあります: 代替テキストhttp://www.members.shaw.ca/AlbertKallal/vss/Image1.gif
もう一度、チェックマークが付いているのは私が所有するフォームであることに注意してください。各オブジェクトの横にある小さな「ロック」は、そのオブジェクトを変更しようとするとロックされ、実際に「チェックアウト」してこの特定のオブジェクト(この場合はフォーム)の所有権を取得するかどうかを尋ねるプロンプトが表示されることを意味します)。
前述のように、ソースコード管理システムはすべてのオブジェクトに適用されます。クエリビルダータブのスクリーンショットは次のとおりです。
代替テキストhttp://www.members.shaw.ca/AlbertKallal/vss/Image4.gif
上記で、アクセスインターフェイスに小さなチェックマークまたはロックが追加されていることに再度注意してください。
ソフトウェア業界では、SCCシステムを使用するのが標準的な料金であり、データベース開発者がデータベースの正規化手法を教えられていることを期待するのと何ら変わりはありません。
ソースコードファイルがソースコードシステムから取得され、各ユーザーのローカル.exeをビルドするために使用されるという事実、またはこの場合、ローカルmdbファイルのビルドは、論理ビューと比較して物理的なビューにすぎないため、意味がありません。見る。
Accessは任意のオブジェクト(フォーム、レポート、コード)などを単一のテキストオブジェクトとしてエクスポートできるため、論理ビューは個別のオブジェクトであり、ローカルビルドがあります。アクセス+VSSが各オブジェクトを個別に表示できる限り、プロセス全体は実際には違いはなく、c++はソースコードシステムから単一のローカル.exeまたは単一のmdbを作成します。
Microsoftは、Access開発者向けのソース管理を提案しています。正確な参照は覚えていませんが、簡単にグーグルで検索できると思います。フォーム、クエリ、テーブルの比較に関して、このソース管理がどのように「インテリジェント」であるかはわかりません。主にAccesオブジェクトをテキストファイルにエクスポート/インポートする機能(Applicationオブジェクトのドキュメント化されていないSaveAstext / LoadFromTextメソッド)に基づいて、VBAで独自のソース管理システムを開発しました。また、ファイル比較ツール(「ファイル比較ツール」)を使用して、ソース管理ツールを完成させます。
クライアントインターフェイスで使用可能なすべてのオブジェクトを一覧表示する「オブジェクト」テーブルがあります。このリストから、次をエクスポート\比較できます。
- テーブル:さまざまなデータベースへの接続文字列を保持するテーブルなど、クライアント側のテーブルのテーブル構造とテーブルデータを比較する独自のツールがあります。
- クエリ:「クライアント側」のクエリは「クエリ」テーブルに保持されます。前を参照してください
- マクロ:autoexecマクロしかありません
- モジュール:テキスト比較ツールを使用して、モジュールをテキストファイルとして比較します
- フォーム:さらに比較するために、「コントロール」テキストファイルと「フォームモジュール」テキストファイルの2つのファイルに分割できます。
1つの「フロントエンド」で作業している2人(またはそれ以上)の開発者は、ある時点で涙を流してしまう可能性があります。個人的には、適切なソース管理が必要なプロジェクトに取り組んだことはありませんが、Visual Source Safeはアクセスでうまく機能すると言われているので、ぜひ試してみてください。