ColumnHistory関数

 データ型が「長いテキスト」である列の値の更新履歴(更新時刻と更新後の値の組み合わせを連ねたもの)を返します。

使用例

 この関数を用いるにはちょっとした準備が必要です。
 まずテーブルに、データ型が「長いテキスト」である列を設けます(右の例では「内容」列)。さらに、そのプロパティのうち「追加のみ」を「はい」にします。こうすることで初めてColumnHistory関数による値の取得が可能となります。「追加のみ」という名前がちょっと奇妙ですが、一度記録した値を削除することもできますし、値を記録していく上で何も支障は生じません。
 ところで、プロパティの注釈(画像右下)はたいてい「〜かどうかを指定します。」ですが、これに限って疑問形なのも不思議なところです。


 あとは適当に値を記録していきます。


 さて、このテーブルをもとにしたクエリをつくり、次のような列を設けます。

内容履歴: ColumnHistory("受付テーブル","内容","[受付ID]=" & [受付ID])


 データシートビューです。値の追加、更新のたびに時刻とともにそのときの値が記録されているのがわかります。
 なお、戻り値に含まれている時刻と、「受付日時」列に記録されている時刻には何の関係もありません。


書式

   ColumnHistory(レコードセット名,列名,検索条件)

 引数の与え方はDlookupなどの定義域集合関数に似ていますが、レコードセット名(テーブル名)とフィールド名(列名)の順番が逆なので注意が必要です。検索条件の表し方はSQLのWhere句と同様ですがWhereは記さず式のみを記します。また、検索条件の内容はレコード(行)のうち1つだけを特定できるようなものでなければなりません。

備考

 記録対象となる列が限られるうえ、データマクロによるログの取得が可能となっているためあまり実用性は高くないものと思われます。
 なお、データ型が「長いテキスト」であっても「追加のみ」を「はい」にするより前の履歴は記録されませんので取得することもできません。
 普通はレコードセットとしてテーブルを指定することとなりますが、クエリを指定することも一応可能です。