Microsoft Access 掲示板

フォームにColumnHistoryを設定したいが#NAMEになる

4 コメント
views
4 フォロー

クエリを基に作成したフォームの中にテキストボックス設置してコメント履歴を表示させたいのですが、#NAMEと表示されてうまくいきません。

オブジェクトの構成は以下の通りです。
テーブル→データA
クエリ→データA クエリ
フォーム→データA クエリ フォーム

データAにある「コメント」レコードの履歴を「データA クエリ フォーム」のテキストボックスに表示させたいです。
テキストボックスのコントロールソースは=ColumnHistory([データA],"コメント","[ID]=" & Nz([ID],0))に設定していますが、#NAMEになってしまいます。

tyanpon
作成: 2019/06/27 (木) 14:24:44
通報 ...
1
名前なし 2019/06/27 (木) 14:58:46 dd5c4@2b788

コントロールソースを以下に修正でいかがでしょうか?

=ColumnHistory("データA","コメント","[ID] = " & Nz([ID],0))
2

名前なしさんの回答てうまくいけばいいですが、
上手くいかない場合は、下記の情報を提示してください。

テーブル「データA」の主キーのフィールド名とデータ型、
「コメント」フィールドのデータ型、

3
tyanpon 2019/06/28 (金) 11:10:18

うまくいきませんでした。
テーブル「データA」の主キーのフィールド名はIDとデータ型はオートナンバー型です。
「コメント」フィールドのデータ型は長いテキストです。

4

テーブル名、フィールド名に間違いはないか、もう一度確認してください。
原因はそれ以外は思いつきません。

あと、下記を参考にクエリで表示できるか確認してみてください。

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

表示出来たら、それをフォームのレコードソースにすればいいでしょう。