1)Accessのクエリーで、1レコード内の複数フィールドの数値の最大値を表示させるため、「mymax」関数を使用しました。
その結果が数値型でなくテキスト型で表示されてしまうため、分析に不都合で
2)テーブル作成クエリーにしてテーブルにしてから、テーブルデザインで数値型に変更し、
3)それを抽出クエリーで並べ替えなどデータ分析に使用しています。
以上のように、3段階の手順をふまず、
1)の時点で、最大値を、数値型で吐き出させることはできますでしょうか。
バージョンはACCESS97です。
どうぞ、よろしくお願いします。
No.3ベストアンサー
- 回答日時:
MyMax関数というのはAccessの組み込み関数にはないものですので、
ユーザー関数として前任者(当該DB開発者)が作成されたものと思います。
戻り値が常に数値に変換できる文字列なのでしたら、MyMax関数に対して
CDbl関数(→小数が含まれることがある場合)やCLng関数(→小数が含まれ
ない場合)で変換してやれば、クエリ1段階で対応できると思います。
クエリのデザインビューで、以下のように変更してみて下さい:
現在:
式1: MyMax(○○,○○)
変更後:
式1: CDbl(MyMax(○○,○○))
・・・以上です。
上記の方法なら、MyMax関数の内容には触れなくても対応できます。
もし、MyMax関数が「A1」と「A24」や「B1」のような「文字&数字」の
大小(?)の評価にまで対応しているようなら、不用意に関数の戻り値の
型を変えたりすると、同じ関数を使用している他の部分で不具合が
発生することも考えられますので、とりあえず今回は上記のような
方法で対応されるのが無難と思います。
(但し、今回作成しようとされているクエリの結果の中に、「A1」のような
データが入っている場合は、エラーが返されてしまいますので、
その点は気に留めておいて下さい)
ご回答ありがとうございます。
確認をしたところ、確かに前任者の自作関数でした。
どうりでヘルプなど見ても出てこないわけですね。
この方法は、わたしにもすぐできそうです。
さっそく試してみます。
留意点なども、おしえてくださり助かります。
ありがとうございました。
No.2
- 回答日時:
MyMax関数を示していただくことは可能ですか?
iif()の組み合わせだと思いますが、clng()などで数値化できそうに思います。
この回答への補足
回答ありがとうございます。
ようやく、モジュールを見つけてきました。
Option Compare Database
Function myMax(ParamArray a())
Dim i
myMax = -9999
For i = 0 To UBound(a())
If a(i) > myMax Then myMax = a(i)
Next
End Function
となっていました。
補足が遅れてしまいました。
まだ、ご回答いただけるようなら嬉しいです。
ありがとうございました。
No.1
- 回答日時:
MyMax関数が自作関数であるならば、戻り値がStringで宣言されている?
戻り値をLongなりIntegerなり、必要となさっている型で宣言すればOKなのでは?
この回答への補足
お礼を申し上げたあと、調べてみたら、前任者の自作関数だったようです。これを機会にすこしモジュールの勉強してみます。戻り値とか。ありがとうございました。
補足日時:2008/07/02 07:43さっそくのアドバイスありがとうございます。
残念ながら自作関数ではなく、クエリーのデザイン画面で、フィールドに書き込んだだけの式です。
モジュールの知識もありません。
勉強すべきとは思うのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
これはディベートの論題だと仮定したうえでの回答お願いします。あなたは、その末にタイムマシンを壊してしまうのか、使い道を探すのかどうかを考えてもらいたいです。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Access 各レコードの中での最大フィールドを抽出したい
Access(アクセス)
-
ACCESSにてフィールド間の最小値を表示するためのモジュール
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 項目毎にデータを横...
-
テンポラリファイルのための空...
-
クロス集計クエリの結果をテー...
-
access テーブル作成クエリでテ...
-
Access2010「クエリが複雑すぎ...
-
クエリのデータをテーブルに入...
-
access インポート時、既にある...
-
アクセスのクエリでSplit関数は...
-
アクセスで新しいレコードの追...
-
accessでクエリの結果だけをリ...
-
アクセス クロス集計クエリ→テ...
-
Access DAOのExecuteメソッドの...
-
選択クエリを基に不一致クエリ...
-
ACCESSで行数指定(5万行目~8...
-
アクセス:テーブルに数式を保...
-
アクセス:クエリの結合とリレ...
-
更新不可能なクエリに対して更...
-
デザインビューにてテーブルが...
-
ACCESS2000 クエリをテーブル化...
-
Access2007のクエリの、テーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
デザインビューにてテーブルが...
-
アクセスのクエリでSplit関数は...
-
アクセス 項目毎にデータを横...
-
クエリのデータをテーブルに入...
-
アクセス:クエリの結合とリレ...
-
Access「レコードが削除されま...
-
教えてください! アクセスのac...
-
access インポート時、既にある...
-
accessでクエリの結果だけをリ...
-
Access2010「クエリが複雑すぎ...
-
access テーブル作成クエリでテ...
-
更新不可能なクエリに対して更...
-
ACCESSでの重複レコードの削除
-
Access DAOのExecuteメソッドの...
-
テンポラリファイルのための空...
-
ACCESSで行数指定(5万行目~8...
-
Accessクエリで分類ごとの累計...
-
Access 末尾に0を追加したい
-
ACCESS2000 クエリをテーブル化...
おすすめ情報