
フォームのテキストボックス「text2」のコントロールソースに
=roundup([text1]/1.05,0)
と書いて実行したら「#NAME?」エラーになりました。試しにクエリに
field2:roundup([field1]/1.05,0)
と書いて実行したら、実行時に「式に未定義関数'roundup'が」あります」とエラーになりました。
ヘルプを見ると「この関数からエラー値 #NAME? が返された場合、msowcf.dll をセットアップしなければならないことがあります。」と書かれています。
検索したら、このファイルは「C:\Program Files\Microsoft Office\Office」内にありました。
モジュールの参照設定で上記ファイルを登録したところ「Microsoft Web Components Function Library」にチェックが付きました。
改めてフォームとクエリを実行しましたが結果は同じでした。
どうすればROUNDUP関数を使えるようになるでしょうか。
ACCESS2000です。よろしくお願いします。
No.5ベストアンサー
- 回答日時:
>「msowcf.dll をセットアップ」すれば使えるような事が書いてあるんですが
「msowcf.dll をセットアップ」のヘルプの抜粋
「それらの関数を含むスプレッドシートを Web ブラウザで開いたときに、エラー値 "#NAME?" が表示されます。」
これは「Webページに表示する場合にのみエクセルのワークシート関数を使うことができる。」ということです。
Access上では使えないので#1の回答になりました。
回答ありがとうございます。
Accessでは使えないって事ですね?!
ハッキリしたので、皆さんに教えていただいたように、IIfとの組み合わせでやってみます。
ってゆーか、実は、自分の用事ではなくて、別の方の質問で「税込み金額から税抜き金額を求める」というのがあって、それを自分でテストする中で、切り上げが必要だと分かったので、Roundupをしたかったのです。
でも、今回質問した事で、勉強になりました。
No.4
- 回答日時:
無ければ作るということで作ってみました。
Public Function roundup(number As Double, n As Integer) As Double
Dim f
number = number * (10 ^ n)
f = number - Fix(number)
number = Fix(number) + IIf(f <> 0, Sgn(number), 0)
roundup = number / (10 ^ n)
End Function
仕様は、エクセルのroundupと同じです。
モジュールの中にコピペして下さい
回答ありがとうございます。
わざわざ作っていただいたんですね~!参考にさせていただきます。
ヘルプに「msowcf.dll をセットアップ」すれば使えるような事が書いてあるんですが、これについては何かご存じないですか?
No.3
- 回答日時:
小数点以下の数字を切り上げるには (INT 関数)
http://support.microsoft.com/default.aspx?scid=k …
こちらが参考になると思います。
ちなみに、VBAの Round 関数は銀行型の丸めの処理になります。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
回答ありがとうございます。
切り上げの具体的な方法、参考になりました。
Roundup関数が使えないとはっきり判明すれば、利用したいと思います。
(ところで銀行型の丸め処理って、普通のとどう違うんでしょうか。)
ヘルプに「msowcf.dll をセットアップ」と書いてあるんですが、これについては何かご存じないですか?
僕がやった方法ではなぜ使えないんでしょうか(>_<)
No.2
- 回答日時:
AccessにRoundup関数はありません。
=Int([field1]/1.05+0.999)
としてください。
どうしてもRoundupにしたい場合ですがモジュールにて
Function MyRoundup(n As Double,k As Integer)
MyRoundup = Int(n * 10^k + 0.999 ) / 10^k
End Function
として、クエリ上に
=MyRoundup([field1]/1.05,0)
回答ありがとうございます。
ないんですか?ヘルプに「msowcf.dll をセットアップ」と書いてあるんですが、これについては何かご存じないですか?

No.1
- 回答日時:
RoundUP関数というのは使ったことないのでわかりませんが
ヘルプにRoundUP関数は「ワークシート関数」と付いているので
フォームでは使えないかもしれないような気がします...
(データアクセスページで使える関数なのかな?)
切り上げでしたらRound関数できると思いますが、どうでしょうか?
回答ありがとうございます。
そうそう、ワークシート関数って書いてあるんですよね・・・何なんでしょうね(^_^;)
Roundは~.dllがなくても使えるみたいですが、四捨五入じゃなくて切り上げをやりたいんですよ・・・
それとも「RoundとIIfを組み合わせて切り上げを実現できるよ」とおっしゃっているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- Visual Basic(VBA) Excel VBAで教えてください 4 2022/05/11 22:20
- Excel(エクセル) 【 Excel 】映画を見る時間を分割して見るのに、Excel で目安を付けたいのです。 2 2022/10/20 19:16
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】同じ関数なのに、エラ...
-
「パス名が無効です」の発生原因
-
ASP.NET 2.0にてアプリが動作し...
-
Returnに対するGoSubがありません
-
PowerShellを使って関連付けら...
-
VB6 Dir関数で52エラー発生
-
アクセスのクエリでコンパイル...
-
「複数の選択範囲に対して実行...
-
エクセル VBA コンパイルエラ...
-
FORTRANの実行エラーについて
-
access テキストボックスの値取得
-
VB スクリプトで
-
ファイルをクローズしたい
-
イベントが発生しない vba
-
batファイルでレジストリキーの...
-
ExcelVBAで既に開いてるwordを...
-
NAS上のファイルの使用中が解除...
-
ASPからACCESSのOPENどうしても...
-
データベースソフトのアクセス2...
-
なぜString型ではだめなのか
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【関数】同じ関数なのに、エラ...
-
access テキストボックスの値取得
-
「パス名が無効です」の発生原因
-
ExcelVBAで既に開いてるwordを...
-
NAS上のファイルの使用中が解除...
-
Returnに対するGoSubがありません
-
gccを行ってもexeファイルが生...
-
PowerShellを使って関連付けら...
-
batファイルでレジストリキーの...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
エクセルマクロでエラーの原因...
-
VBでファイルが開かれているか...
-
【COBOL】read文でエラー
-
FTPの送信結果を検知したい
-
VBから参照できないCのDLLを使...
-
fgets関数のEOFの扱い方について
-
ACCESS VBAでのインポート
-
データベースソフトのアクセス2...
-
DisplayAlertsブロパティで ”実...
おすすめ情報