我有一個表單(Cobind_frmMain),它允許用戶創建一個連接到它的標題池。因此,有一個頂級池名稱(TopLvlPoolName),並在子窗體上添加標題。我需要的是爲每個標題發佈報告。我有所有設置的報告和查詢。現在,報告將在一個文件中顯示所有標題。這些標題位於名爲「CatCode」的字段中。通過查詢幫助訪問VBA循環
我需要的是以下內容:
1.將每個標題保存爲PDF並將其保存到我們的服務器。
2.打開電子郵件並附上PDF。
3.重複,直到所有標題完成。
編輯:這是我到目前爲止的代碼和我仍然得到的錯誤消息是:「設置記錄集行」上的「太少參數」。我試圖在strSQL行中設置參數。我希望PartPoolName(在Cobind_qryReport中,一個查詢)等於打開窗體上的TopLvlPoolName。對於Cobind_qryReport的SQL列出如下:
Private Sub btn_Run_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
strSQL = "Select * FROM Cobind_qryReport WHERE PartPoolName = " & Me.TopLvlPoolName
Set rs = db.OpenRecordset(strSQL)
On Error GoTo Err_PO_Click
If MsgBox("Do you wish to issue the cobind invites?", vbYesNo + vbQuestion, "Confirmation Required") = vbYes Then
rs.MoveFirst
Do While Recordset.EOF = False
DoCmd.OutputTo acOutputReport, "Cobind_rptMain", acFormatPDF, "K:\OB MS Admin\Postage\CoBind Opportunities\Sent Invites\" & [CatCode] & "_" & [PartPoolName] & "Cobind Invite_" & Format(Now(), "mmddyy") & ".pdf"
DoCmd.SendObject acSendReport, "Cobind_rptMain", acFormatPDF, , , , [CatCode] & "_" & [PartPoolName] & " Cobind Invite", "Please find the cobind invite attached. Response is needed by " & [RSVP] & ". Thank you.", True
Recordset.MoveNext
Loop
End If
Exit_PO_Click:
MsgBox ("It didn't work")
Exit Sub
Err_PO_Click:
MsgBox Err.Description
Resume Exit_PO_Click
End Sub
Cobind_qryReport SQL:
SELECT tblEvents.EventTitle,Cobind_tblPartic.CatCode,Cobind_tblPartic.CodeQty,Cobind_tblPartic.PartPoolName,Cobind_tblTopLvl.RSVP,Cobind_tblPartic.ID FROM Cobind_tblTopLvl,Cobind_tblPartic INNER JOIN tblEvents ON Cobind_tblPartic.CatCode = tblEvents.EventCode GROUP BY tblEvents.EventTitle,Cobind_tblPartic.CatCode,Cobind_tblPartic.CodeQty,Cobind_tblPartic.PartPoolName,Cobind_tblTopLvl.RSVP,Cobind_tblPartic.ID ORDER BY Cobind_tblPartic.ID;
再次感謝您的幫助!
請確定並指定您的Dim語句的類型。它會爲你節省心痛和跑步時間。 – 2011-04-21 17:12:59
對不起 - 我不明白Option Explicit。我究竟會在哪裏放? – 2011-04-21 18:39:31