2011-04-11 8 views
1

私のデータベースの主なエンティティは約100のフィールドを持っています。私は多くのテーブルの間にフィールドを編成し、テーブル間に1対1の関係を追加しました。タブコントロールにAccess 2007サブフォームを作成

データ入力(および後のデータ編集)のために、私は各テーブル用のフォームを備えた「ウィザード」と、次のスクリーン/テーブルに進むための「次へ」ボタンを想定しています。主キーは最初の画面に入力され、その後、残りのすべての画面に渡されます。

私はサブフォームでタブコントロールを聞いたことがあるかもしれません。

このウィザードを作成するにはどのような手順を実行する必要がありますか?

注:次のスキーマをデータベースの簡単な例として使用してください。 Sample Schema(作品から画像をアップロードできません)

+1

本当に100の属性を持つ非常に珍しいエンティティです。私の考えは、あなたの構造体が非正規化され、少数の属性と反復属性を持つ多数のN:1テーブルを持つメインテーブルに分割する必要があるということです。確かに、1:1の表に頼っているときは、一般に、何かが間違っていることを示しています(Accessで特にうまく機能しないタイプ/サブタイプの構造を実装しようとしている場合を除きます)。 –

答えて

1

プライマリIDを含む親フォームに非表示のTextFieldを使用できます。 サブフォームがこのテキストフィールドのコンテンツにリンクされているプロパティで設定したすべてのサブフォームについて。これにより、すべてのサブフォームを同期させることができます。

+0

各タブまたはタブコントロールの下のボタンにボタンを付ける必要がありますか?ボタンのアクションは何ですか? – Steven

+0

ボタンは必要ありません。 サブフォームがフィールドにリンクすると、元のフィールドが更新されるとすぐにそのサブフォームの内容が自動的に更新されます。 データロード中にこのフィールドにデータを入力する必要があります。 ユーザーが最初のサブフォームでデータセットを選択したとします。次に、「次へ」ボタンには、 Me.Parent.Controls( "NameOfYourTextField")。Value = YourPrimaryID' というコードが書き込まれます。後続のタブのすべてのサブフォームは、そのIDと同期化されます。 –