- 締切済み
Accessのレポートでソースレコード項目を読む
Accessのレポートでレポートを作っているんですが、グループヘッダーを出力するときに、そのグループの項目内容によって、表示する内容を変えようとしています。 VBで「グループヘッダー_Format」イベントが発生した時に、そのときのグループの内容を読み出して、それぞれに見合った処理を行うつもりです。 ただ、現在のソースレコードの項目をどうやって読み出せばいいかわかりません。 テーブル名!項目名 とやってもエラーになります。 どのように現在印刷しようとしているレコードの指定項目を読み出せばいいのでしょうか? よろしくお願いいたします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
>項目を表示するテキストボックスをつくって非表示にして利用する これが一番らくだと思います。 (プリントイベントでないと読めませんが) 他に、レポートのレコードソースをクエリにしてそれで操作する方法や、 ADOなどで、実際のレコードに直接アクセスしてデータを取ってくる方法 などが考えられます。
すみません。 No1です。 ちんぷんかんぷんな回答ですね。 無視してください。 レポートに印刷するものは、textbox に表示させているので Me.テキスト1.Text とでもすれば読めるのではないでしょうか? それとも、私はまだ勘違いしているのかな?
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番目のフィールド名・・・・
補足
16Augustさん、回答ありがとうございます。 No1の回答は勘違いされていますよって書こうとおもっていたところです。 レポートに表示するものをテキストボックスで表示させれば読めるのはわかるのですが、レポートに表示しない項目を読み出すのはどうすればよいのでしょうか? ふと、おもいついたのが、その項目を表示するテキストボックスをつくって非表示にして、利用するって方法ですが、なんだかスマートじゃない気がします。 そんな裏技的な方法じゃなく、うまく参照できる方法があればお教えください