こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESS VBA 複数グループ毎のPDF化

昨日、グループ毎のPDF化はおかげさまで下記の構文で実行できました。
但しグループキーがテーブルにある"PO”というフィールドもキーにする必要があり、また行き詰ってしまいました。

どのような文を加えれば"区分"と"PO"をキーに分けてPDFを作成できますでしょうか?
ご教授頂けましたら幸いです。

<行いたいことの例>
区分|PO|商品コード
FZ|123|AAA
FZ|123|BBB
FZ|456|AAA
※区分は同じでもPOが異なる場合はファイルを分けたい

<区分毎のPDF化は成功した構文>
Option Compare Database


Private Sub 分割PDF()

Const TBL_NAME = "Amazon2"
Const RPT_NAME = "Amazon for ESKER"
Const PDF_PATH = "C:\Users\(アカウント)\"

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

rs.Open "SELECT DISTINCT 区分 FROM Amazon2", CurrentProject.Connection, adOpenStatic, adLockReadOnly
Do Until rs.EOF

pdfName = rs!区分
DoCmd.OpenReport RPT_NAME, acViewPreview, , "区分 = '" & rs("区分") & "'"
DoCmd.OutputTo acOutputReport, RPT_NAME, acFormatPDF, PDF_PATH & pdfName & ".pdf"
DoCmd.Close
rs.MoveNext

Loop

End Sub

投稿日時 - 2018-12-25 11:38:55

QNo.9571216

困ってます

質問者が選んだベストアンサー

rs.Openのところを、


rs.Open "SELECT Amazon2.区分, Amazon2.PO FROM Amazon2 GROUP BY Amazon2.区分, Amazon2.PO;", CurrentProject.Connection, adOpenStatic, adLockReadOnly


として、DoCmd.OpenReportのところを、


DoCmd.OpenReport RPT_NAME, acViewPreview, , "[区分] = '" & rs!区分 & "' AND [PO]='" & rs!PO & "'"


とします。なお、フィールドの型は区分、POともテキスト型としています。

投稿日時 - 2018-12-26 13:53:16

お礼

完璧なご回答をありがとうございます!!!
理想通りの回答(コピペできる内容)で頂きましたので
全くのど素人の私はそのままコピペさせて頂きました。

早速実行してみると同じ区分があった時にファイルが上書きされたので、
pdfName = rs!区分 & "_" & rs!PO
だけ変えてみたら大成功でした。
やりたかった事を形にすることができました。

本当にありがとうございました。
これで業務改善が出来ます。
直接御礼をしたい位の感謝感激です。

投稿日時 - 2018-12-26 14:37:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問