セル型でタブコントロールを作成します。
マスターページに別の通常のページを表示するのと同様に、親のページに存在するタブコントロール内で、別のページをサブページとして使用できます。親ページ内にサブページを表示するため領域を範囲選択し、セル型をタブコントロールに設定します。サブページのサイズに応じて選択する範囲を調整してください。
タブタイトルはサブページのタイトルが使用されます。タイトルが設定されていない場合はページ名が使用されます。
参考:
タブコントロールのサブページ内で親ページのセルを参照したい場合は、「=ページ1!A1」のようなセル参照式ではなく、セルに名前をつけて「=name」のように名前を使って参照する必要があります。名前の付け方は、セルの名前定義を参照してください。
タブコントロールの各サブページのセルに名前を付ける際は、重複しない名前を使用してください。たとえばサブページAとサブページBのそれぞれのセルに同じ名前を付けた場合、その名前で値を参照した際に予期しない結果が返ってきます。
サブページと親ページのアクセス権が異なる場合、親ページにアクセスする際にログインが必要になります。たとえば、親ページは全員のアクセスが許可されていて、子ページは管理者のみがアクセスが許可されていた場合、親ページにアクセスするためにはログインが必要です。この時、ページ全体がログインページに移動します。ログインすると、親ページが表示されます。
ExcelやPDFにページをエクスポートする場合、タブコントロール型セル内に表示されている子ページの内容はエクスポートされません。エクスポートコマンドを呼び出すボタンが、タブコントロール型セル内の子ページにある場合、その子ページのみがエクスポートされます。
親ページとサブページのカレント行は同じになります。つまり、ユーザーがサブページのリストビューの現在の行を変更すると、親ページの関連するデータ連結セルは、新しいカレント行によってデータを再読み込みします。
サブページ内のボタンをクリックし「ページ遷移」コマンドが実行されると、サブページの部分だけではなくページ全体が変更されます。
ページの循環参照はできません。 たとえば、ページ1とページ2があり、どちらもタブコントロールがあったとします。ページ1では、サブページはページ2を設定し、ページ2でサブページはページ1を設定することはできません。
タブコントロールが表示される時にすべてのサブページが生成されます。このため、タブをクリックしていなくともすべてのサブページの「ページロード時のコマンド…」が呼び出されます。
サブページを挿入したい範囲を選択して[ホーム]→[セル型]のドロップダウンリストから[タブコントロール]を選択します。
範囲選択した領域がタブコントロール型になります。
タブコントロールに表示するためのサブページを作成します。
この例では、ページタブを右クリックして、新しいページの作成を選択します。
サブページをタブコントロールに設定します。
タブコントロールを選択し、右ペイン下部の[セル型]タブをクリックして設定します。
プロパティ名 |
説明 | ||||||
---|---|---|---|---|---|---|---|
タブ(サブページ) |
挿入したいサブページを選択します。「+」でタブの追加、「-」でタブの削除ができます。 ビルトインページ、ビルトインモバイルページは選択できません。また通常のページのサブページとしてモバイルページを選択したり、モバイルページのサブページとして通常のページを選択することはできません。 | ||||||
アクティブなタブの番号 |
選択された状態になるタブ番号を設定します。 タブ番号は1から始まり、入力する数字がタブの数より大きい場合、最初のタブが選択状態になります。 | ||||||
サブページの表示方法 |
タブコントロールにサブページが表示しきれない場合の表示方法について設定します。
| ||||||
スタイルの設定 |
タブの罫線とタブヘッダーの色を設定します。 タブヘッダーの通常状態のスタイルは、セルのスタイルが使用されます。 |
各サブページの「ページロード時のコマンド…」で「同一テーブル」に対するクエリーコマンドを記載しないようにしてください。「同一テーブル」に対するクエリーコマンドを記載したい場合は、「ページロード時のコマンド…」の代わりに、各リストビューを右クリックして「クエリー条件…」から指定してください。こうすることで、指定した条件でデータを抽出し、そのリストビューに表示できます。「ページロード時のコマンド…」でクエリーコマンドを記載する場合、テーブルが異なる場合は問題ありませんが、「同一テーブル」の場合、「タブコントロールが表示される時にすべてのサブページが生成される」という動作ににより、初回(最初のサブページ)のクエリーのみが有効に働きます。他のサブページに記載したクエリーは、既に同一テーブルのクエリーが実行されているため実行されません。
(例)タブコントロールに「2019年」タブと「2018年」タブがあり、次のように各サブページに配置したリストビューに表示したい場合。
「2019年」タブのページのリストビューには「テーブル1」から「2019」年のデータを抽出して表示。
「2018年」タブのページのリストビューには「テーブル1」から「2018」年のデータを抽出して表示。
各リストビューを右クリックして「クエリー条件…」から年を条件にしたクエリーを指定することで、そのリストビューに表示するデータを抽出して表示できます。もし各ページの「ページロード時のコマンド…」で、年を条件にしたクエリーを記載すると、最初の「2019年」タブのページのクエリーのみが実行され、2019年として抽出されたレコードが「2019年」タブと「2018年」タブの両方のリストビューに表示される結果となります。
サブページのリストビューを右クリックして「クエリー条件…」を記載した場合であっても、「同一テーブル」に対してのカレントレコードは、サブページでそれぞれ保持しているわけではありません。
親ページにも「同一テーブル」と連結したリストビューがあった場合、カレントレコードは親ページとサブページで同じになります。親ページのカレントレコードが変化すると、各サブページ内のデータ連結したセルには親ページのカレントレコードの値が表示されます。
複数のサブページで「同一テーブル」と連結したリストビューがそれぞれあった場合、他のサブページのカレントレコードが変化すると、それに連動し別のサブページのカレントレコードも変化します。このため、サブページ内のどこかに、「同一テーブル」のフィールドとデータ連結したセルがあった場合、必ずしも表示しているサブページのリストビューの値がセルに表示されるわけではありません。カレントレコードの値が表示されます。
上記のカレントレコードの制約があるため、データ連結しているセルと同じページ上のリストビューの値が、必ずしもデータ連結しているセルにそのまま表示されるわけではない点に注意してください。カレントレコードに捕らわれずにセルに同一テーブルの値を表示するには、「=ODATA(〜)」といったODATA関数を使用するようにしてください。