Accessでは、画面を2つに分け[単票フォーム]と[データシート]を同時に表示できる[分割フォーム]というのがあります。Access2007で追加された機能です。
画面の単票フォームとデータシートのレコードは連動し、データシートで選択したレコードの情報が、単票フォームにも表示されます。
入力や編集は単票フォームで行い、レコードの抽出や並べ替えは、データシートで行うことができます。
新規に作成するにはボタンをクリックするだけですが、既存のフォームを分割フォームに変更することも簡単です。
この記事の目次
分割フォームの構成
分割フォームの主な構成です。
最上部に[ヘッダー]があり、上にフォーム、下にデータシートが並んでいますが、このフォームとデータシートの位置は、上下反対にもできますし、左右に並べることもできます。
分割フォームの下部には、レコードを移動するための[移動ボタン]や、[フィルターボタン]、[検索ボックス]もあります。
分割フォームの新規作成
分割フォームを新規に作成する場合は、分割フォームとして作成したいテーブルやクエリをナビゲーションウィンドウから選択して、[作成]タブの[分割フォーム]のボタンをクリックするだけです。
フォームを作成する時には、バックには必ずテーブルがあって、入力のしやすさや見易さを設定するのがフォームです。
ウィンドウの左側にあるナビゲーションウィンドウのテーブル、またはクエリを選択します。そして、[作成]タブの[フォーム]グループにある[その他のフォーム]をクリックして、一覧の中から[分割フォーム]をクリックします。
分割フォームのポップヒントには、以下のように記されています。
分割フォーム
分割フォームを作成します。分割フォームの上のセクションにはデータシートが表示され、下のセクションにはデータシートで選択したレコードの情報を入力するためのフォームが表示されます。
参考ポップヒントには上にデータシート、下に単票フォームが作成されると記されていますが、単票フォームとデータシートの位置はどういう条件かは分かりませんが、データシートが上だったり、下だったりします。でも、この位置はプロパティですぐに変更できます。
Access2007の[分割フォーム]のボタンは[作成]タブの[フォーム]グループに表示されています。
レイアウトビューで表示されます。
以下の画像は、[デザイン]タブの[表示]ボタンをクリックして、[レイアウトビュー]であることを確認しています。
ここで[レイアウトビュー]が表示されていない場合は、[Accessのオプション]でレイアウトビューを使用しない設定になっていないかを確認してください。
レイアウトビューでは、データを表示したままコントロールの大きさなどを調整できます。
ヘッダーやコントロールの大きさを調整したら[フォームビュー]に切り替えて確認します。
問題がなければ[F12]キーを押して、[分割フォーム]に名前を付けて保存しておきましょう。
参考分割フォームの大きさは思うように固定できないということがあります。うまく行かない場合は、デザインビューでウィンドウの大きさを調整した後は、上書き保存をしてから閉じてみてください。
また、フォームプロパティの[サイズ自動修正]の設定なども確認してください。[Accessのオプション]の[ドキュメントウィンドウオプション]の[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の場合では、表示が異なります。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
レイアウトの削除(コントロールのグループ解除)
[デザインビュー]に切り替えて、コントロールを調整しようとしても個別に修正できないのは、テーブルとしてレイアウトが設定されているからです。
1つのコントロールを選択すると、コントロールがグループ化されているのが分かると思います。
[デザインビュー]に切り替えたときに、コントロールの位置や大きさを個別に調整するには、レイアウトを削除します。
レイアウトビューでも解除できます。コントロールのグループ化については、以下の記事で解説しています。
-
フォームのコントロールのグループ解除(レイアウトの削除)と結合・再設定
Accessでテーブルやクエリをもとにフォームを作成すると、コントロールを自由に移動できないということがあります。 それは、コントロールがグ ...
参考Excelからデータをインポートしてテーブルを作成することもできます。そのテーブルをもとに分割フォームを作成すると、Excelにはない便利さを実感できると思います。
-
Excelのデータをテーブルにインポート(ウィザードの使用と貼り付け)
AccessでExcelのデータをインポートしてテーブルを作成する方法です。 操作は簡単なのですが、なかなか思うように行かないこともあります ...
既存のフォームを分割フォームに変更
以下は作成済みのフォームです。
情報が多いので、タブコントロールを使用して作成しているタブ付きのフォームです。
[デザイン]タブの[表示]から[デザインビュー]をクリックします。
そして、[デザイン]タブの[ツール]グループにある[プロパティシート]をクリックして、[フォーム]のプロパティシートを表示します。
[選択の種類]で[フォーム]になっていることを確認します。もし、[フォーム]でなければ、プルダウンボタンをクリックして一覧から[フォーム]を選択してください。
参考プロパティシートは、キーボードから[F4]キーを押しても表示できます。
[既定のビュー]から[分割フォーム]を選択します。
これだけで、[分割フォーム]に変更できます。
フォームビューに切り替えて確認します。データシートが上に表示されている場合もありますが、これはプロパティで変更できます。
参考上記のタブコントロールを使用したタブ付きフォームの作成については、以下の記事で解説しています。
-
タブコントロールを使用したタブ付きフォームの作成
Accessでは、タブコントロールを使ってタブ付きのフォームを簡単に作成できます。 例えば、テーブルにフィールドが多く、それを1つのフォーム ...
分割フォームのカスタマイズ(プロパティによる設定)
分割フォームに関するプロパティの設定は、6個あります。
分割フォームをデザインビューで表示して、プロパティシートを表示します。
選択の種類が[フォーム]になっていることを確認します。[書式]タブの下方にあります。
- 分割フォームのサイズ
- 分割フォームの方向
- 分割フォームの分割バー
- 分割フォームデータシート
- 分割フォームの印刷
- 分割フォームの位置の保存
分割フォームの方向
分割フォームの方向で、データシートの場所を変更できます。選択するだけなので簡単ですね。
- データシートを上に
- データシートを下に
- データシートを左に
- データシートを右に
[データシートを上に]を選択すると、以下のようになります。
分割フォームの分割バー
分割バーとは、データシートと単票表示の境界線のバーのことです。
この分割バーを上下にドラッグすることで、フォームとデータシートの領域を調整できます。
[分割バー]を[いいえ]にすると、以下のようになって、ドラッグでの調整はできなくなります。領域は固定されます。
参考[分割バー]を[はい]にして、[分割バーの位置の保存]を[はい]にすると、分割バーを移動させるたびに[保存しますか?]の確認メッセージが表示されます。
[分割バー]を表示するのであれば、[分割バーの位置の保存]は[いいえ]にします。
分割フォームデータシート
分割フォームのデータシートでは、編集ができないように読み取り専用にすることもできます。
分割フォームのプロパティシートの[分割フォームデータシート]で[読み取り専用]を選択します。
既定は、[更新の許可]になっています。
読み取り専用にする設定については、以下の記事でも解説しています。
分割フォームの印刷
[データシートのみ]か、[フォームのみ]かを選択できます。既定は[データシートのみ]になっています。
データシートの列幅の調整とフィールドの並びを変更
データシートの列幅は、ドラッグで調整できます。
また、フィールドの順番もドラッグで移動するだけです。
以前は、列幅を調整しても保存されないという現象に悩みましたが、現在、その現象は解消されています。
-
分割フォームの列幅を保存するには
Accessでは、分割フォームをよく利用しています。 [単票フォーム]と[データシート]が1つのフォームに作成できて非常に便利です。 でも、 ...
フィールドの非表示設定
また、データシートのフィールドを非表示にしたい場合は、非表示にしたいフィールドで右クリックして、ショートカットメニューから[フィールドの非表示]をクリックします。
参考フィールドの非表示設定は、単票フォームの操作に影響することもあります。以下の記事で解説しています。
-
分割フォームのデータシートのフィールドを非表示にする時の注意点
Accessの分割フォームでは、データシートのフィールドは簡単に非表示に設定することができます。 ですが、データシートでフィールドを非表示に ...
フィールドの再表示
再度、データシートのフィールドを再表示にする場合は、フィールドで右クリックして、ショートカットメニューから[フィールドの再表示]をクリックします。
そして、[列の再表示]ダイアログボックスが表示されるので、表示したいフィールドのチェックボックスをオンにします。
参考ショートカットメニューにある[フィールドの固定]をクリックすると、そのフィールドは一番左端に移動して固定されます。
解除する場合は、[すべてのフィールドの解除]をクリックします。詳細は以下の記事で解説しています。
-
分割フォームのデータシートのフィールドを非表示にする時の注意点
Accessの分割フォームでは、データシートのフィールドは簡単に非表示に設定することができます。 ですが、データシートでフィールドを非表示に ...
分割フォームの使い方
分割フォームは、データシートで選択しているレコードの内容が単票フォームに表示されます。
データシートで上から2番目の[ID2]を選択すると、上のフォームにも[ID2]の情報が表示されます。
横に長い情報も単票フォームだと見やすいですね。
[データシート]でレコードを選択して、[単票フォーム]でレコードの修正を行うということができます。
データシートでレコードの並べ替えと抽出
データシートのフィールド名の横にフィルターボタン(▼)があります。
このボタンを使って、並べ替えやデータを絞り込むことができます。
Excelのフィルターを使い慣れている方なら、その便利さはよく分かると思います。
参考Excelのフィルターモードの使い方は、以下の記事で解説しています。
-
フィルターモードの詳細な抽出条件はデータの種類で異なる
Excelのフィルター機能を使用すると、条件に合うデータを簡単に抽出できます。 表をフィルターモードにするには、表内のセルをアクティブにして ...
注意データシートのフィルターボタン(▼)が表示されない場合は、フォームのプロパティでショートカットメニューを表示しない設定をしていると思います。以下の記事で解説しています。
分割フォームのデータシートの項目にあるフィルターボタンが消えた!
また、レコード数が多いとフィルターボタンをクリックしても、リストが表示されない場合があります。
これは、[Accessのオプション]の設定変更で解決できます。以下の記事で解説しています。
レコードを昇順で並べ替え
[姓(フリガナ)]フィールドのフィルターボタンをクリックして、[昇順で並べ替え]をクリックします。
以下のように五十音順に並べ替えることができます。
また、IDの昇順に戻すには[ID]フィールドのフィルターボタンをクリックして、[昇順で並べ替え]をクリックするといいですね。
参考以下の記事では、ボタンをクリックしてレコードを並べ替える方法を解説しています。
-
フォームのレコードをボタンをクリックして並べ替える
Accessでは、分割フォームをよく利用しています。 分割フォームは、フォームビュー(単票フォーム)とデータシートビューが同時に表示され、E ...
コンボボックスでレコードの抽出もできます。
-
フォームのコンボボックスの値でレコードを抽出
フォームにコンボボックスを作成して、そのリストから選択して一致するレコードを抽出できるようにします。 ウィザードを使い、コンボボックスの値は ...
また、抽出したレコード数をテキストボックスに自動的に表示することもできます。
-
重複しないデータの個数とレコードの抽出件数をテキストボックスに自動表示
Accessのフォームに重複しないデータの個数を表示する方法を紹介します。 下のようにフォームヘッダーのテキストボックスに部署数の重複しない ...
分割フォーム下部のフィルターボタンの活用
フィルターの適用は、フォームの下部にあるフィルターボタンを使用します。
例えば、下のように3名のチェックボックスをオンにして[OK]ボタンをクリックします。
以下のように3名(3件のレコード)が抽出されて、分割フォームのフィルターは[フィルター適用]となります。
この[フィルター適用]ボタンをクリックすると、フィルターが解除されてすべてのレコードが表示されます。
そして、[フィルター処理なし]をクリックすると、最後に保存したフィルターでレコードが抽出されます。
ここでは、直前に行ったフィルターの結果が、以下のように(3件のレコード)が表示されます。
参考テキストボックスでレコードを抽出できるように設定すると、より便利になります。あいまい検索の方法を解説しています。
-
テキストボックスでレコード抽出(コードビルダーを起動して設定)
Accessのフォームで検索用のテキストボックスを作成して、そのテキストボックスに入力した文字列の部分一致でレコードを抽出する方法を紹介しま ...
フィルターを実行した後、そのフィルターのデータをそのままレポートへ出力できます。
-
フォームのフィルター実行後のデータをレポートへ出力する
Accessのフォームでフィルターを実行した後、そのフィルターのデータをそのままレポートへ出力する方法です。 フィルターが実行されていない場 ...
データシートのフィールド名の変更
データシートのフィールド名の変更は、コントロールのプロパティにある[データシートの標題]で変更できます。
例えば、[電子メールアドレス]では長いので、フォームではそのまま[電子メールアドレス]でもいいけど、データシートでは短くしたいという場合があると思います。
その場合の方法です。
分割フォームをデータシートビューで表示します。
データシートでフィールド名を変更したいコントロールを選択します。ここでは、[電子メールアドレス]を選択します。
[F4]キーを押して、プロパティシートを表示します。
[その他]タブの[データシートの標題]のテキストボックスに表示したい名前を入力します。
ここでは、[メール]と入力します。
[フォームビュー]に切り替えて確認します。結果、下のように[メール]と表示されます。
参考データシートのフィールドの名前は、コントロールのプロパティで、以下のように表示されている場合があると思います。この場合は、[ラベル名]の[標題]が表示されます。
ここでは[電子メールアドレス]と表示されます。
下のように[データシートの標題]も[ラベル名]も空白の場合は、[名前]が表示されます。
この場合[テキストボックス90]と表示されてしまいます。
データシートのフィールド名を変更したい場合は、[データシートの標題]で入力してください。
以下の記事では、添付ファイル型のクリップマークを変更する方法を解説しています。
-
添付ファイル型のフィールド名の変更は[標題]で
Access2007からデータ型に[添付ファイル]が登場しました。 テーブルのデータ型に「添付ファイル」 この添付ファイル型のフィールド名は ...
参考テーブルのデータ型に[添付ファイル]が登場したのも、Access2007からです。
添付ファイル型の表示方法については、以下の記事で解説しています。
-
データ型[添付ファイル]の3つの表示方法
Access2007から登場した添付ファイル型ですが、フォームでの表示方法の違いを紹介します。 [添付ファイル]の表示方法は、[画像/アイコ ...
分割フォームは、初心者の方にもおすすめです。ぜひ、分割フォームを作成してみてください。分割フォームを作成して生産性を向上してみませんか?
フォーム作成の方法は、他にもあります。以下の記事で解説しています。
-
フォームウィザードでフォームを作成(クエリが認識されないことも)
Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。 フォームウィザードでは、[ ...
-
ナビゲーションフォームの作成(フォーム・レポートをタブで切り替え)
ナビゲーションフォームとは、作成済のフォームやレポートをタブで切り替えて表示できるフォームのことです。 6種類のレイアウトが用意されています ...
サブフォームを含むフォームも簡単に作成できます。
-
サブフォームを含むフォームを簡単作成
Accessで1つのフォーム上に2つのテーブルの情報を表示して、同時に閲覧できると便利な場合があります。 たとえば、[得意先]テーブルと[受 ...