掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataView.Sortについて教えて下さい (ID:145087)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 魔界の仮面弁士さん、特攻隊長まるるうさん、回答ありがとうございます。 過去ログ検索の際にもお二人の回答はいつも参考にさせてもらっています。 また、わざわざそちらの環境で動作確認までしてもらい大変恐縮しております。 >上記のテストデータの並びのままでした。 の件ですが再度確認したところ 魔界の仮面弁士さんの実行結果および、特攻隊長まるるうさんご指摘の通り FIELD5のみ降順になりました。大変申し訳ありませんでした。 どうやらこの"FIELD5のみ"という部分を見落としていたようで・・・ >もしくは全体が並び変わると思い込んでたので FIELD05 の変化を >見落としたとか。 まさにこの通りです・・・ 質問内容のみならずこちらの行動もお見通しな感じでお恥ずかしい限りです。 説明不足でしたが、今回行いたい事は >複数のフィールドを降順にしたいという意味であれば であり(実際は昇順の場合も有りですが) >おぉ、なるほど。DESC の範囲を誤解していたかも知れない、と。 だったのかなと思い至りました。 mdb内のどのテーブルのDataViewだとしても主キーに基づきソートを実行したい という目的で、再現可能というよりは作成中のコードになりますが・・・ Public Sub PrimaryKeySort(ByVal SortView As DataView) Dim SortString As String Dim i As Integer ' For i = 0 To SortView.Table.PrimaryKey.Length - 1 If i = SortView.Table.PrimaryKey.Length - 1 Then SortString &= SortView.Table.Columns(i).ColumnName & " desc" Else SortString &= SortView.Table.Columns(i).ColumnName & " desc, " ★ End If Next ' SortView.Sort = SortString End Sub (現状は降順のみでテスト中です) ★部分を変更して DataView.Sort = "FIELD01 desc, FIELD02 desc, FIELD03 desc, FIELD04 desc, FIELD05 desc" となる事で目的の複数フィールドを降順にできるんだなと分かりました。 昨晩自宅でもネット調査して知りましたが >DataView.Sort = "単価,商品グループ DESC" というのは、二つのフィールドを降順にしてくれると思っていましたが 列名の後を省略した場合は昇順扱いになる?という事で合っているでしょうか? (上記の場合は「単価」は昇順、「商品グループ」は降順となる?) DataView.Sort = "FIELD01,FIELD02,FIELD03,FIELD04,FIELD05 desc" とした場合はFIELD05のみ降順扱いとなるが DataView.Sort = "FIELD01,FIELD02,FIELD03,FIELD04,FIELD05 asc" とした場合は結局は全フィールド昇順扱いとなる? もしよろしければ、このあたりを勉強できるサイトなど教えて頂けると幸いです。 いくつか何度かテストを行い問題なさそうであれば解決マークを付けさせて頂きます。 もし他にもなにかご指摘がある場合は引き続きお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.