前提・実現したいこと
フォームのデータを1行ずつ読み、「キャンセル区分」がnullか
nullじゃないかでデータを分けて、
nullならば、キャンセルでないときのレポート、
nullでないならば、キャンセルのレポートを出したいです。
発生している問題・エラーメッセージ
キャンセルかキャンセルでないかの判別はできるのですが、 レポートがキャンセルでない方とキャンセルの方1枚ずつしかでません。 そこのプログラムを通ってはいますが、最初の1枚以外はプレビューできません。 また、印刷するとどちらも合わせて1枚しか印刷されません。 どこを直したらよいのでしょうか、すみませんが、よろしくお願いします。
該当のソースコード
'****************************** Private Sub 出力ボタン_Click() '****************************** Me.Refresh sql = "SELECT 受注№,受注明細№" sql = sql & " FROM 商品T" sql = sql & " WHERE (((商品T.出力チェック)=Yes))" Set rs = CurrentDb.OpenRecordset(sql, dbOpenSnapshot) If rs.BOF = True Then MsgBox "出力するデータにチェックを付けてください" End If Do Until rs.EOF 検索受注№ = rs![受注№] 検索受注明細№ = rs![受注明細№] sql2 = "UPDATE 商品T SET チェック1 = Yes" sql2 = sql2 & " WHERE 受注№ = '" & 検索受注№ & "'" sql2 = sql2 & " AND 受注明細№ = '" & 検索受注明細№ & "'" DoCmd.RunSQL sql2 sql3 = "SELECT キャンセル区分" sql3 = sql3 & " FROM 商品T" sql3 = sql3 & " WHERE 商品T.チェック1 = Yes" Set rs2 = CurrentDb.OpenRecordset(sql3, dbOpenDynaset) If IsNull(rs2![キャンセル区分]) = True Then DoCmd.OpenReport "出荷日変更レポート", acViewPreview Else DoCmd.OpenReport "出荷日変更レポート(キャンセル)", acViewPreview End If sql3 = "UPDATE 商品T SET チェック1 = No" sql3 = sql3 & " WHERE 受注№ = '" & 検索受注№ & "'" sql3 = sql3 & " AND 受注明細№ = '" & 検索受注明細№ & "'" DoCmd.RunSQL sql3 rs.MoveNext Loop End Sub
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。