質問: access(クエリ) 重複する日付の順位 access2007 + win7pro 選択クエリで[日付]フィールドを昇順でソートした場合¥の順位を [日付順位]フィールドに出るようにしたいのですが、 [日付]が重複している場合、例えばレコード数が30個で、 2013/1/1、2013/5/20、2013/11/6の3種類しか存在しないときは、 1、2、3のいずれかになるようにしたいです。 どうか教えてください。
回答: すみません、(2)のコードの中で、「q123」を レコードデットとして使用していないので、コードは function funcrank(byval num as long) as long dim db as dao.database dim rs as dao.recordset dim i as long dim j as long dim strsql as string '変換数値だけを取り出しグループ化 strsql = "select 変換数値 from q123 group by 変換数値" set db = currentdb set rs = db.openrecordset(strsql) '自分より大きい数値を見つける rs.movefirst do until rs.eof if num < rs!変換数値 then i = i + 1 end if rs.movenext loop 'レコード数の取得 j = rs.recordcount 'ランクの算出 funcrank = j - i rs.close: set rs = nothing db.close: set db = nothing end function と、置き換えてください。あとは変更はありません。 そのままでも変わりはないのですが、無駄な記述に なるので除きます。 それと、 dim minnum as long も除きます。minnumも変数として使っていませんでした。 以上です。