レコード ソースがクエリ (qryRecords など) であるレポートがあります。レポート ヘッダーに、長いメモ フィールド (255 文字を超える) を追加したいと考えています。これらのメモ (フィールド タイプが「メモ」) を保持するテーブルを設定しました。このテーブルはレポートのレコード ソースとは別であるため、VBA コードを使用してメモ フィールドをレポートに配置します。
レポートのオープン イベントで、次のコードを追加しました。
Dim rst as Recordset
Dim sql_qry as String
sql_qry = "SELECT notes FROM tblNotes WHERE id = 1;"
Set rst = CurrentDb.OpenRecordset(sql_qry)
rst.MoveFirst
Me.txtNote = rst![notes] 'I get the run-time error on this line
残念ながら、実行時エラーが表示されます (「このオブジェクトに値を割り当てることはできません」)。フォームで同様の問題を抱えている人を見つけ、コードを open イベントから OnCurrent イベントに移動することを提案しましたが、そのイベントはレポートには存在しません。助言がありますか?ありがとう。
--- 元の質問 ---
バインドされていないテキスト ボックス (txtNotes) を含むフォームがあり、ユーザーがフォームを開くと、テキスト ボックスに 255 文字を超えるテキストが入力されます (データベースのさまざまなフィールドが連結されます)。これは問題なく動作します。
レポートを開くボタンがフォームにあり、レポートで、テキスト ボックスのコントロール ソースを Forms![frmMain]![frmSub]![txtNotes] に設定します。これは、上記のテキスト ボックスです。これも機能しますが、何らかの理由で、レポートのテキストが 255 文字で切り捨てられます。フォームのテキスト ボックスはバインドされていないため、長さを制限する基になるテーブルはありません。なぜこれが起こるのか、または回避策があるのか 誰かが知っていますか?