質問: 例えば、以下のようなクエリを作りたいのですが、うまくいきません。作り方教えてください。 以下のようなテーブル、クエリから フィールド フィールド テーブル1 選手ID 50m走タイム 1 9.5秒 クエリ1 選手ID 年齢 1 21歳 テーブル2 年齢 タイム 得点 20以下 7秒未満 10 20 8秒未満 9 20 9秒未満 8 25以下 8秒未満 10 25 9秒未満 9 25 10秒未満 8 以下のようなクエリの作り方 クエリ 選手ID 50m走得点 1 8点 よろしくお願いします
回答: テーブル1の50m走タイムフィールドのデータ型はSingle クエリ1の年齢のデータ型は、Integerと仮定します。 テーブル1とクエリ1を元に、クエリ2を作成します。 フィールドは、選手ID タイム:Partition(Int([50m走タイム]),7,9,1) 年齢:Partition([クエリ1].[年齢],20,25,5)でいいでしょう。 テーブル2の年齢・タイムフィールドのデータ型は、Stringとし、Partition関数で返される形式で、入力しときます。 テーブル2 タイム 年齢 得点 : 7 :20 10 : 7 21:25 11 : 7 26: 12 8: 8 :20 9 8: 8 21:25 10 8: 8 26: 11 9: 9 :20 8 9: 9 21:25 9 9: 9 26: 10 最後に、クエリ3を作成すればできあがり? モジュールが理解できるならば、こういった方法もあります。 Function 得点(年齢 As Integer,たいむ As Single) As Integer Select Case 年齢 Case < 20 '20歳以下 Select Case たいむ Case < 7.0 '7秒以下 得点 = 10 Case < 8.0 '8秒以下 得点 = 9 Case < 9.0 '9秒以下 得点 = 8 End Select 'タイムの終わり Case < 25 略 Case Else End Select '年齢の終わり (記憶を頼りに書いてるので、間違ってるかも・・・) こういったモジュールを用意して、保存しときます。 クエリの中から、50m走得点:得点([年齢],[50m走タイム])で標準関数みたいに呼びだしゃOKかな? ん~、回答になってます?