よろしくお願いいたします。
サブフォームのRecordsetcloneで、フィルタとソートができません。
フォームの表示とは別に、裏でフィルタとソートをかけデータを参照したいと思っています。
コードはコマンドボタンクリック時に設定してあります。
Dim rst As Recordset
Dim sup As Long '仕入先ID
Dim item As Long '業務用品ID
Dim unit As Variant '単位
Dim OdrNum As Long '発注ナンバー
If MsgBox("一括注文書作成を実行しますか?", vbYesNo) = vbYes Then
Set rst = Me.frm注文依頼発注用_一覧Sub.Form.RecordsetClone
rst.Filter = "注文書作成チェック = True AND 発注ナンバー = NULL"
rst.Sort = "仕入先ID ASC,業務用品ID ASC,単位_注文数"
rst.MoveFirst
Do Until rst.EOF
If rst!仕入先ID <> sup Then
DAOのRecordsetは、FilterプロパティやSortプロパティを設定したあと、再度開きなおさないと反映されません。
また、Nullは=演算子ではなくIs演算子で判定します。
hatena様
ご回答ありがとうございます。
ご指摘の通りやってみましたら、バッチリできました。
Set rst = rst.OpenRecordset で再設定しないといけない事を初めて知ったので勉強させてもらいました。
ありがとうございました!
助かりました。