09/10/26 21:02:02
>>402
ところが、何がいけないのかさっぱりわからん。
このルーチンってのは、単純なもので、テーブルにあるデータをレポートで個別の
PDF作成するようにDo_Untilのループで100個ほどつくるもの。
PDFは2007のPDFプラグインによるもので、DoCmd を使う物。
DBEngine.SetOption dbMaxLocksPerFile, 200000 を指定した後に
Dim My_Db As DAO.Database
Dim My_Rst As DAO.Recordset
Dim My_Rst2 As DAO.Recordset
Dim My_Path As String
Set My_Db = CurrentDb()
Set My_Rst = My_Db.OpenRecordset("SELECT * FROM テスト ORDER BY 社員コード")
Set My_Rst2 = My_Db.OpenRecordset("SELECT * FROM 社員マスター WHERE (((社員マスター.レポート)=-1) AND ((社員マスター.経場コード) Between 100 And 200));")
My_Path = CurrentProject.path & "\pdf\"
Do Until My_Rst2.EOF
DoCmd.OpenReport "メール送信", acViewDesign, , , acHidden
Application.Reports("メール送信").Filter = "社員コード='" & My_Rst2!社員コード & "'"
DoCmd.Close acReport, "メール送信", acSaveYes
DoCmd.OutputTo acOutputReport, "メール送信", acFormatPDF, My_Path & "\" & My_Rst2!社員コード & ".pdf", False, 0
My_Rst2.MoveNext
Loop
My_Rst.Close: Set My_Rst = Nothing
My_Rst2.Close: Set My_Rst2 = Nothing
My_Db.Close: Set My_Db = Nothing
何か足りないのか?それとも、やり方を間違えているのか・・・・