• 締切済み

Accessのレポートでソースレコード項目を読む

Accessのレポートでレポートを作っているんですが、グループヘッダーを出力するときに、そのグループの項目内容によって、表示する内容を変えようとしています。 VBで「グループヘッダー_Format」イベントが発生した時に、そのときのグループの内容を読み出して、それぞれに見合った処理を行うつもりです。 ただ、現在のソースレコードの項目をどうやって読み出せばいいかわかりません。 テーブル名!項目名 とやってもエラーになります。 どのように現在印刷しようとしているレコードの指定項目を読み出せばいいのでしょうか? よろしくお願いいたします

みんなの回答

noname#60992
noname#60992
回答No.3

>項目を表示するテキストボックスをつくって非表示にして利用する これが一番らくだと思います。 (プリントイベントでないと読めませんが) 他に、レポートのレコードソースをクエリにしてそれで操作する方法や、 ADOなどで、実際のレコードに直接アクセスしてデータを取ってくる方法 などが考えられます。 

noname#60992
noname#60992
回答No.2

すみません。 No1です。 ちんぷんかんぷんな回答ですね。 無視してください。 レポートに印刷するものは、textbox に表示させているので Me.テキスト1.Text とでもすれば読めるのではないでしょうか? それとも、私はまだ勘違いしているのかな?

noname#61635
質問者

補足

16Augustさん、回答ありがとうございます。 No1の回答は勘違いされていますよって書こうとおもっていたところです。 レポートに表示するものをテキストボックスで表示させれば読めるのはわかるのですが、レポートに表示しない項目を読み出すのはどうすればよいのでしょうか? ふと、おもいついたのが、その項目を表示するテキストボックスをつくって非表示にして、利用するって方法ですが、なんだかスマートじゃない気がします。 そんな裏技的な方法じゃなく、うまく参照できる方法があればお教えください

noname#60992
noname#60992
回答No.1

1つの方法として、adoでレコードセットを作ってそこから読むことができます。 Dim Conn As New ADODB.Connection Dim Rst As New ADODB.Recordset Set Conn = CurrentProject.Connection Rst.Open "table1", Conn, adOpenKeyset, adLockOptimistic MsgBox Rst.Fields(0).Name Rst.Close Conn.Close Set Rst = Nothing Set Conn = Nothing とすると、table1の最初のフィールド名を読み出します。 fields()の数値を1にすると2番目のフィールド名・・・・

関連するQ&A