フォーム(非連結)での計算時の四捨五入:切り捨て:切り上げの方法を教えてください。Excelのようにround:rounddown:round upのような関数があるのでしょうか?
宜しく御願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

roundはありますが、Excelのroundとは性質が違います(四捨五入して偶数を返します)。


コントロール内の数値は、基本的に「小数点以下表示桁数」で設定した桁数で四捨五入されると思いますが、計算式の中でお使いになるための関数は

切り捨て:int

のみを使って対処するしかなさそうです。
私は以下のようにしています。

四捨五入:int([数値]+0.5)(小数第一位で四捨五入する場合)
切り上げ:int([数値]+0.9)(小数第一位で切り上げる場合)
    • good
    • 1

やはり、餅は餅屋なので


Microsoftに聞いてみるのが良いでしょう。
[四捨五入]で検索すればごろごろ出てきます。

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0

CInt関数で対応出来ます。




クエリーのフィールドに

消費税: CInt([ネット計]*0.05)と入力

ちなみにこの数値は整数型 (Integer) となっているので-32,768 ~ 32,767 の範囲の値のみ可能です。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QROUND関数で、四捨五入ができない。

ROUND関数で、四捨五入ができない。
カラムの値が'8.5'の場合'9'になるはずなのですが、'8'となってしまいます。
解決方法ありますでしょうか?
'4.5''6.5'の場合でも、四捨五入ができないです。
SELECT カラムA,ROUND(カラムA) FROM テーブル
----------------------------------------
 カラムA |  ROUND(カラムA)
----------------------------------------
  5.5   |   6          ←四捨五入ができている
----------------------------------------
  8.5   |   8          ←四捨五入ができない
----------------------------------------
  4.5   |   4          ←四捨五入ができない
----------------------------------------

XAMPP 1.7.3の MySQL 5.1.41を使用しています。

ROUND関数で、四捨五入ができない。
カラムの値が'8.5'の場合'9'になるはずなのですが、'8'となってしまいます。
解決方法ありますでしょうか?
'4.5''6.5'の場合でも、四捨五入ができないです。
SELECT カラムA,ROUND(カラムA) FROM テーブル
----------------------------------------
 カラムA |  ROUND(カラムA)
----------------------------------------
  5.5   |   6          ←四捨五入ができている
----------------------------------------
  8.5   |   8    ...続きを読む

Aベストアンサー

ROUNDは銀行丸め(五捨五入)ですね。
truncate(カラムA + 0.5))でどうでしょうか?

Q連結フォームでの非連結

こんにちは。
Access2002を使用しています。
「T_実績」テーブルには、顧客名、売上金額、販売者の項目があります。
「T_実績」テーブルに入力するために、連結フォームの「F_実績入力」フォーム
を作成しました。入力の際は、顧客名と売上金額を入力し、販売者は
フォームヘッダーのテキストボックスに入力した販売者を、レコード移動時に
自動更新したいようにしたいのですが、どのようにすればよいでしょうか?
よろしくご教授くださいますようお願いいたします。

Aベストアンサー

追加です

フォームヘッダーのテキストボックスに値が入っていない場合
フォームを開いたときに最初に開いたテーブルの販売者も値が無しになりますし
移動時にも販売者が値無しになります。

それを防ぎたい場合は

Private Sub Form_Current()

If Not IsNull(Me.フォームヘッダーのテキストボックス名) Then

Me.販売者のテキストボックス名= Me.フォームヘッダーのテキストボックス名

End If

End Sub

にしてください。

QRound関数は四捨五入?

あるサイトで・・・
”多くのRound関数は、偶数丸めを採用しており、
丸め単位のまんなかで、どっちつかずの場合は、偶数側を採用する。”
ということが書いてあるのを読みました。

しかし、SQL Server2000のクエリで
select round(1.25,1) と実行すると
1.2ではなく1.3 が返ってくるので、四捨五入されている気がします。

厳密な四捨五入と異なる値が返ってくるパターンはどういう式でしょうか?
それとも、SQL Server2000のRound関数は厳密な四捨五入なのでしょうか?

ご存知の方がいたら教えてください。
よろしくお願いします。

Aベストアンサー

JIS丸めだと思います。
コンピュータに限らず、実験データなどの丸め方が決められていて、ROUND関数などはそれにしたがっている場合が多いです。

JIS Z8401-1999で検索すればいくつかヒットします。

参考URL:http://www.bsddiary.net/doc/jis-z8401.html

Q連結、非連結のデータベースについて

現在、趣味でデータベース開発をしており

ACCESS単体で作成する場合は連結←非連結での作り方が分からない為(苦笑)
VB+ACCESSで作成する場合は非連結

という方法で作成しています。
一般的な業界のデータベースの開発現場では、非連結によりデータベース作成が基本なのでしょうか??
開発に取り掛かるに当たって、連結or非連結はどの様な観点で選ばれるのでしょうか?

また、初心者の理解として、

連結→直テーブル更新される
非連結→画面上のデータを『登録』等のボタン押下後に登録と認識しておりますが、

この点につきましても間違いがございましたら、ご教授下さいませ。

Aベストアンサー

基本的にはデータベースは連結・非連結ではなくデータの重複をなくすことによってデータの管理を容易にしたりデータを多様な目的に用いるのに有効な方法でデータベースの構築の基本になる正規化を基に作成します。
これがデータベースの開発の基になります。
連結・非連結はコントロールのあり方でデータベースのテーブル自体はキーによって各テーブルは結合されて構成されます。

連結・非連結とのことなのでフォーム等のコントロールのことでの質問と理解して・・。
テーブルのレコードに対してそのコントロールがテーブルのフィールドに連結されているかいないかでデータを操作する際の対応が変わります。(連結→直テーブル更新される非連結→画面上のデータを『登録』等のボタン押下後に登録 のように)
例えばフォームでレコードを追加・修正・削除等の処理をする際に適切な方法で行うのが良いのでそこで連結にするか非連結にした方が良いのかが変わると思います。
連結にしてレコード単位でフォームに読み込み時にレコードロックを行えば他者が修正・削除は出来ないのでレコードのデータを修正・変更する際に有効。
極端な例ですが非連結でフォーム上にレコードを表示し修正し更新しようとしたら他者がそのレコードに更新かける前に削除しまっていた。という事が起こりかねない。それを防御する為に連結コントロールでレコードをロックさせていれば他者か削除してしまうことがない。 など
小規模のクライアントでのデータベース開発ならこの辺を考慮して決めれば良いのではないでしょうか。
大規模だともっと厳密になりますが。

連結→直テーブル更新される
Accessでは連結ではUpdate(新規ならInsert)するかレコードを移動した時に更新されます。
非連結→画面上のデータを『登録』等のボタン押下後に登録
(ボタン等のイベントで)Update(新規はInsert)しないと更新されない。
で良いと思います。

基本的にはデータベースは連結・非連結ではなくデータの重複をなくすことによってデータの管理を容易にしたりデータを多様な目的に用いるのに有効な方法でデータベースの構築の基本になる正規化を基に作成します。
これがデータベースの開発の基になります。
連結・非連結はコントロールのあり方でデータベースのテーブル自体はキーによって各テーブルは結合されて構成されます。

連結・非連結とのことなのでフォーム等のコントロールのことでの質問と理解して・・。
テーブルのレコードに対してそのコント...続きを読む

Q四捨五入で計算された数字を、整数で返す関数を教えてください。

エクセルで見積金額をだす時に、小数点以下非表示で計算すれば、100.4+100.9+100.4=301.7 302となります。
関数を使い小数点第1位四捨五入で、これを301にしたいのです。
小数点第一位を四捨五入して整数で返すと言うのでしょうか?
(小数以下斬り捨てだと、300になります。INT関数がそうなのでしょうか?)

すみません、関数がまだ良く分かりません。間違っていたり説明がまずかったなら、ごめんなさい。

Aベストアンサー

#2のmshr1962です。勘違いに気づきました。
各数値を四捨五入してから合計ですね。
1セルで行う場合は#3の方のように+でつなげる方法もありますが
行数が多いと大変です。
=SUM(ROUND(A1:A3,0))
と入力してCtrl+Shift+Enterで確定して配列数式にしてください。
又は
=SUMPRODUCT(ROUND(A1:A3,0)*1)
でも計算できます。

一番楽なのは、各見積り額を
=ROUND(単価*数量,0)
で計算したセルを
=SUM(範囲)
で合計ですが...

QACCESSのテキストボックスの連結・非連結

お世話になっております。
ここの方々のおかげで私のACCESS修行も進んでおります。
ありがとうございます。

本日も一つ質問がありますので、よろしくお願いします。

レポートのテキストボックスに、「連結」と「非連結」
があるようなのですが、実際にレポート・デザインの画面
で、テキストボックスが「連結」と「非連結」のどちらで
あるかを確認する方法は、あるのでしょうか?

以上、よろしくお願いいたします。

Aベストアンサー

デザインビューのお話ですよね。
非連結テキストボックスの場合は「非連結」と表示されるので、
見たまんまだと思いますが…。必然的に、連結テキストボックスは
それ以外、ということになります。

ご質問の趣旨がよく分かりませんが、まさか「非連結」という名前の
フィールドに連結されたテキストボックスと、本物(?)の非連結
テキストボックスとがあって、それを見分けたいというような自爆テロ
構造だったりするのでしょうか…

QエクセルのROUND関数(金額によって違う四捨五入)

エクセルのROUND関数に関して質問があります。
下一桁を四捨五入するやり方については、
ROUDN(-1)で出来ることはわかっています。

100円台は下一桁(1円単位)のみ四捨五入し、
1万円台は下2桁(10円単位)まで四捨五入するという
やり方を同じセル上でやりたいのですが、方法はありますでしょうか?

ご回答宜しくお願いします。

Aベストアンサー

=ROUND(計算式,IF(計算式>=10000,-2,-1))

というのはいかがでしょう?

QAccess:フォームをクリック!該当レコードを開くには?

Aテーブルを参照している2つのフォームがあります。
Bフォームは、Aテーブルの全内容を表示し、
Cフォームは、特定の項目のみを表示します。
そこで!Cフォームで、詳細を見たいレコードをクリックすると、
Bフォームの該当レコード(全内容)が開かれるようにしたいのですが、
可能なのでしょうか。
VBAは初心者ですが頑張りますので、ぜひ教えてください。

Aベストアンサー

[コード].SetFocus 
これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
 フィールド名は[]で指定します。

Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
 べつのフォームを検索するときはフォーム名を指定しなければいけません。

 Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
 フォーカス(カメラの焦点のことをフォーカスといいます 焦点を絞る)を移す時にこのsetfocusを使います

 Accessのヘルプを表示してキーワードに「setfocusメソッド」といれて検索してください。

 一度にVBAを覚えるのは無理ですが少しずつでも覚える姿勢があればはやくマスターできるでしょう。 私だって全部知っている訳ではなく、必要に迫られて作っているだけです。
 Accessの参考書にはいろいろ載っていますが、私は、ほとんどビジュアルベーシックで覚えました。
 ビジュアルベーッシックとAccessのVBAは共通部分がたくさんありますよ。

[コード].SetFocus 
これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
 フィールド名は[]で指定します。

Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
 べつのフォームを検索するときはフォーム名を指定しなければいけません。

 Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
 フォーカス(カメラの焦...続きを読む

Q四捨五入するときの関数は

金額データで、74352を千円未満を四捨五入するときの、データ定義、使用関数を教え願いたい。
(結果は、74000としたい。)

Aベストアンサー

No.1です。

>百未満の時は、Format(値, "0,")*100 ですか。
No.1の回答は、千円未満限定の四捨五入方法です。
桁数によらない、汎用の式は、

=Format(値/100, "0") * 100

です。
式中の「100」の部分を、四捨五入する桁によって、変更します。

Q切り捨ての設定について質問

Windows2000/ACCESS2000を使用してます。
消費税で1円単位を切り捨てしたいのですがどうしたら良いのか分かりません。
消費税の小数点の切り捨ての設定は出来るのですが・・・

あと、初歩的なことを聞きますが、数字を表示するのに\なしでカンマで(例えば150000を150,000にする)区切るようにするにはどのようにしたら良いですか?

初歩的な事ですが宜しくお願いします。

Aベストアンサー

「1円単位を切り捨てる」つまり、消費税を10円単位にしたい(消費税の計算結果が58円であれば、50円として扱いたい)ということですよね??

まず、どこかに消費税を計算する部分がありますので、そこを探してください。
そこに、

消費税額 = 小計 * 消費税率

ってな感じで書かれていると思いますので、それを

消費税額 = Fix((小計 * 消費税率) / 10) * 10

のように書き換えてください。 ※(小計 * 消費税率)を10で割って、小数点以下を切り捨て、さらにそれを10倍しています。
消費税を計算している部分は複数あるかもしれないので、それらをくまなくチェックする必要がありますね。

これらの切捨てによって生じた「値引き分」をどのように扱うのか、といった問題も考えられると思いますが、そちらのほうはrenaultさんにおまかせします(^^;

カンマ区切りについては、表示するテキストボックス等の「書式」プロパティを
#,##0
に設定してやればOKです。

こんな感じで分かりますでしょうか。

「1円単位を切り捨てる」つまり、消費税を10円単位にしたい(消費税の計算結果が58円であれば、50円として扱いたい)ということですよね??

まず、どこかに消費税を計算する部分がありますので、そこを探してください。
そこに、

消費税額 = 小計 * 消費税率

ってな感じで書かれていると思いますので、それを

消費税額 = Fix((小計 * 消費税率) / 10) * 10

のように書き換えてください。 ※(小計 * 消費税率)を10で割って、小数点以下を切り捨て、さらにそれを10倍しています。
消費税を計算してい...続きを読む


人気Q&Aランキング