![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
Accessのクロス集計→テーブル作...
-
ACCESSで行数指定(5万行目~8...
-
アクセス:クエリの結合とリレ...
-
Access DAOのExecuteメソッドの...
-
access インポート時、既にある...
-
教えてください! アクセスのac...
-
Access「レコードが削除されま...
-
ハイパーリンクの抽出・印刷に...
-
クエリの抽出で、リストボック...
-
アクセス クロス集計クエリ→テ...
-
ACCESSで2種類に分類してカウン...
-
アクセス データ抽出
-
ACCESSでテーブルの一部だけを...
-
access テーブル作成クエリでテ...
-
accessでクエリの結果だけをリ...
-
アクセス:テーブルに数式を保...
-
アクセス 項目毎にデータを横...
-
Accessで注文書を作成したいです。
-
デザインビューにてテーブルが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
accessでクエリの結果だけをリ...
-
アクセス:クエリの結合とリレ...
-
アクセス 項目毎にデータを横...
-
デザインビューにてテーブルが...
-
Access「レコードが削除されま...
-
クエリのデータをテーブルに入...
-
アクセスのクエリでSplit関数は...
-
ACCESSで行数指定(5万行目~8...
-
access インポート時、既にある...
-
教えてください! アクセスのac...
-
更新不可能なクエリに対して更...
-
アクセスで新しいレコードの追...
-
ACCESSでの重複レコードの削除
-
Access2010「クエリが複雑すぎ...
-
アクセス クロス集計クエリ→テ...
-
Access DAOのExecuteメソッドの...
-
Access 末尾に0を追加したい
-
access テーブル作成クエリでテ...
-
エクセル複数シートをアクセス...
おすすめ情報