Access2007を使用して台帳管理を行っています。
その際にレポートをPdf化して電子保存を行っていますが、いちいちメニューからレコード指定しでファイル出力するのが煩雑なのでVBAを勉強して自動化しようと思っています。
実装したい機能はフォーム上に配置されたボタンを押したら、そのIDのレポート(PDFファイル)が指定のフォルダに保存されるものです。
初心者なりにいろいろ調べて下記のコードに行きついたのですがうまくID選択されません(全レコード保存される)。
ご教授お願いします。
Sub Pdf作成()
DoCmd.OpenReport "レポート名", acViewPreview, , "ID=" & Me!ID
DoCmd.OutputTo acOutputReport, "レポート名", acFormatPDF, "保存path&ファイル名.pdf"
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
DoCmd.OutputToは、使用したことはありませんが、レポートのRecordSourceとして、"ID=" & PubIDReturn()をWhere条件にしたQueryを指定すれば良いと思います。
フォームのテキストボックスで、PDF化したいIDを指定し、このIDで絞り込まれたレポートをPDFに出力させます。
フォーム上のボタンで操作するなら、次のようにVBAを組むことが考えられます。
モジュールオブジェクトで、Public PubID as Longとグローバル変数宣言します。
次に、このグローバル変数を返す関数PubIDReturn()を定義します。
Public PubID As Long
Public Function PubIDReturn() As Long
PubIDReturn = PubID
End Function
次にIDを指定するフォームで、実行ボタンのクリック時イベントに次のようなモジュールを作成します。
Private Sub コマンド0_Click()
If IsNull(Me![ID]) Then
MsgBox "IDを指定して下さい"
Exit Sub
End If
PubID = Me![ID]
DoCmd.OutputTo acOutputReport, "レポート名", acFormatPDF, "保存path&ファイル名.pdf"
End Sub
レポートに設定するQueryは次のように設定します。
SELECT *
FROM テーブル1
WHERE (((テーブル1.ID)=PubIDReturn()));
これで如何でしょうか?
IDは、オートナンバー型を仮定しています。
実際のIDのデータ型に合わせて確認下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) エクセルシートをVBAでpdfで保存したい 2 2022/06/27 10:17
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのレポートのヘッダー...
-
ACCESS レポートでグループご...
-
アクセスのレポートで空白のテ...
-
Accessのレポート上のテキスト...
-
accessレポートにwordの文...
-
ACCESSのレポートフッターをグ...
-
Accessでの複数クエリ(テーブ...
-
Access2007 総ページ数が狂う
-
Access チェックボックスを使...
-
アクセスのレポートをPDF化する...
-
★お手上げ状態です。助けてくだ...
-
ACCESS:レポートが依存するオ...
-
アクセスでファイル名をレポー...
-
プライベートコードのバーコード化
-
アクセスでレポート作成時にデ...
-
Access レポートフッターを条...
-
BusinessObjectsについて教えて...
-
レポートのコントロールソース...
-
Accessのフォーマット時イベント
-
アクセス2002で決算棚卸し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのレポートのヘッダー...
-
Accessのレポート上のテキスト...
-
accessレポートにwordの文...
-
ACCESS2000 VBAで印刷時にサブ...
-
Accessのフォーマット時イベント
-
★お手上げ状態です。助けてくだ...
-
Access2013でレポートを名前を...
-
エクセルで表を作り、ピボット...
-
Accessでレポートの項目をVBAで...
-
Access チェックボックスを使...
-
アクセスでレポート作成時にデ...
-
Accessでページヘッダーだけが...
-
アクセスでファイル名をレポー...
-
レポートのコントロールソース...
-
計算結果がレポートビューでは...
-
BusinessObjectsについて教えて...
-
ACCESS でフォームフィルターを...
-
アクセスのレポートで空白のテ...
-
レポートのラベルなどの非表示...
-
テキストボックスにコントロー...
おすすめ情報