人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Access2003のレポートについて教えてください。
my_table,my_form,my_reportが登場します。

・my_formフォームにボタンを設置。クリックすると、「my_report」というレポートを呼び出す。

Private Sub cmd_Execute_Click()
DoCmd.OpenReport my_report, acViewPreview

・my_reportにはVBAでレコードセット取得コードが書かれています。r_ID,r_Nameはレポート上に配置されているテキストボックスです。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
SQL_Str = "SELECT * from my_table where ID Between 0 and 100"
Set RS = db.OpenRecordset(SQL_Str, dbOpenDynaset)

Do Until RS.EOF
r_ID = RS!ID
r_Name = RS!Name
RS.MoveNext
Loop

何がやりたいかというと、レコードセットを作成。例えば100人分のレコードセットができたとします。100人の名前が印刷できるようなレポートを作りたいです。上記のコードだと、r_ID,r_Nameは上書きされて最後のレコードが印刷されるだけです。コードをどうやって変えたらよいでしょうか?アドバイスお願いします!

●質問者: akaired
●カテゴリ:コンピュータ インターネット
✍キーワード:100人 AS dB LOOP name
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● たけじん
●0ポイント

レポートにテーブルを持ってきておく。

ボタンを押したら、そのテーブルにレコードセットを書き込む。

全部書き込んだら、レポートを印刷すればいいんではないの?

◎質問者からの返答

ありがとうございます!


2 ● HALSPECIAL
●70ポイント ベストアンサー

アクセスをアクセスらしくスマートに使うにはバインドを使用することです。

デザインのビューから「レコードソース」にテーブルやクエリ、SQLをセットしてレポートとバインドします。


で、必要に応じ、

DoCmd.OpenReport の引数で抽出条件を指定するとよいです。

http://www.happy2-island.com/access/gogo03/capter60005.shtml



どうしても、レポートのモジュールでコードを書きたいということであれば、こちらにあるように

Report_Openイベントでレコードセットを作って、Me.RecordSourceにセットします。

http://www.accessclub.jp/bbs6/0005/das991.html

◎質問者からの返答

ありがとうございます!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ