-1

私が働いている会社のために開発しているシステムの vba を学ぼうとしています。しかし、それは急な学習曲線でした。具体的には、一連の MS Access 2013 レポートを送信するたびにレポートの新しい id# をキー入力するのではなく、自動化したいと考えています。

クエリによってレポートが必要なすべての id# のリストを取得できますが、vba が各レコードを順番にウォークスルーし、id# を変数に割り当てる (および/または変数に入れる) 方法があるかどうか疑問に思っていました。現在レポートを制御しているフォームのバインドされていないコントロール)、レポートの pdf を生成します (最終的には、レポートも自動メールで送信したいと思います。

本当に、これは私がやるべきことの山ですが、成功すれば、将来的に数え切れないほどの時間を節約できます. これまでのところ、vba からレポートを pdf に出力することしかできませんが、フォームにデータを入力する必要があり、これでは時間が節約されません。

どんなアイデアでも素晴らしいでしょう。私はvbaが初めてです。

ありがとう。

4

2 に答える 2

2

ネット上にはforDAO Database.Openrecordset()とloopsのコードの例がたくさんあるはずです。Recordset.Movenext

IDNo 変数の値を返すグローバルIDNo変数 (データベース モジュール ヘッダー内のPublicまたは変数) とデータベース モジュール内の関数を作成し、レポートのクエリ内でその関数を使用してレコードをフィルター処理してみてください。FriendID()

をループするたびRecordsetに、適切なデータをIDNo グローバル変数に割り当て、 を実行しDoCmd.OpenReportます。

ID でフィルタリングされたのそれぞれについて 1 つのレポートを取得する必要がありrecordます。recordset

于 2013-08-16T03:47:41.153 に答える