フォーム(非連結)での計算時の四捨五入:切り捨て:切り上げの方法を教えてください。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と関連する良く見られている質問

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

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

Aベストアンサー

追加です

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

それを防ぎたい場合は

Private Sub Form_Current()

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

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

End If

End Sub

にしてください。

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

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

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

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

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

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

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

Aベストアンサー

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

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

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

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

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

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

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

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

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

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

Aベストアンサー

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

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

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倍しています。
消費税を計算してい...続きを読む

QAccessで小数点以下を切り捨てたいんですが

今Accessでデータベースを扱っているんですが、小数点以下を切り捨てる方法を教えて欲しいのです。調べてみると、MicrosoftAccessプロジェクト(.adp)に適用可能な関数(floorなど)は見つかるんですが、私が今扱っているのはMDBファイルですので、適用できないようです。
ですから、MDBファイルにも使える切り捨ての方法があれば、ぜひ教えてください。よろしくお願いします。

Aベストアンサー

> もし解決策などありましたら、教えて頂けないでしょうか?
明示的に型を変換しましょう。
結果: CLng(Fix([A] / [B]))
のように。


人気Q&Aランキング

おすすめ情報