|
かるびの様
回答ありがとうございます。
確認事項の件ですが、
>まず、メニュー画面から
>
>1.コマンドボタンclickイベントで「F_支払明細書」を開く
この「メニュー画面」って何でしょうか。
メニュー用に作ったフォームのことですか。
→その通りでございます。総合メニュ‐になります。(F_総合)
>Private Sub btnshiharai_Click()
コマンドボタン「btnshiharai」は、「メニュー」フォームに配置されたコマンドボタンですよね。
→その通りでございます。
>Private Sub btnok_Click()
コマンドボタン「btnok」は、F_支払明細書に配置されたコマンドボタンのことですよね。
→その通りでございます。
>レポートをデザインビューで開き、プロパティシートを開いて、
>「データ」タブにおける「レコードソース」を空白にする
>という操作をしてほしかったのです。
>「レコードソース」を空白にしたら、レポートをいったん保存してください。
以下のように修正してみました。
----------------------------------------------------------
(1)総合メニューからボタンをクリックし、「R_支払明細書」のレコードソースを空白にして上書き保存、そして「F_支払明細書」を開く。(「R_支払明細書」のオープンイベントで「F_支払明細書」を開こうとしても開かなかったため)
Private Sub btnshiharai_Click()
Dim MyReport As Report
DoCmd.OpenReport "R_支払明細書", acViewDesign
Set MyReport = Reports!R_支払明細書
MyReport.RecordSource = ""
DoCmd.RunCommand acCmdSave
DoCmd.OpenForm "F_支払明細書", , , , , acDialog
End Sub
(2)「F_支払明細書」のテキストボックスtx2開始日とtx2終了日に指定期間を入力し、OKボタン(コマンドボタン)をクリック、下記処理を実施する。
Private Sub btnok_Click()
Dim MyReport2 As Report
Dim rs As ADODB.Recordset
Const QUERY_NAME = "Q_支払明細書用"
Const RPT_NAME = "R_支払明細書"
Const PDF_PATH = "C:\TEST\"
Set MyReport2 = Reports!R_支払明細書
MyReport2.RecordSource = "Q_支払明細書用"
Set rs = New ADODB.Recordset
rs.Open "SELECT DISTINCT T_CODE FROM Q_支払明細書用", CurrentProject.Connection, adOpenStatic, adLockReadOnly
Do Until rs.EOF
pdfName = rs!T_CODE
DoCmd.OpenReport RPT_NAME, acViewPreview, , "T_CODE=" & rs!T_CODE, acWindowNormal
DoCmd.OutputTo acOutputReport, RPT_NAME, acFormatPDF, PDF_PATH & rs!T_CODE & ".pdf"
DoCmd.Close
rs.MoveNext
Loop
End Sub
-------------------------------------------------------------------------
>問題のエラーは、btnok_Clickイベントにおけるどの行で発生しますか。
>やはり「rs.Open "SELECT DISTINCT T_CODE FROM Q_支払明細書用",
>CurrentProject.Connection, adOpenStatic, adLockReadOnly」の行でですか。
→その通りでございます。
>F_支払明細書を開いてtx2開始日とtx2終了日に入力して、
>フォーカスをtx2終了日以外に移した後、
>F_支払明細書を閉じずに開いたまま、ナビゲーション・ウィンドウから
>Q_支払明細書用を開くと、
>パラメータ入力ボックスが出てきますか。
> もし出てくるのであれば、「パラメータの入力」というキャプション(標題)の
>下、テキストボックスの上に文字が表示されているはずですが、そこには何と表示さ>れていますか。
→パラメータボックスはでてきません。tx2開始日とtx2終了日に指定した期間の抽出結果が表示されます。
お手数お掛けいたしますがよろしくお願いいたします。
|
|