
質問させていただきます。
Access2000を使用しております。そこで、フォームを利用してデータを入力するのですが、金額(通貨型)項目に、小数第2位まで入力する必要があります。テーブル、フォームの「小数点以下表示桁数」をそれぞれ ”2”に設定しました。これで入力すると、たとえば ”10.556” と入力すると ”10.56”と四捨五入されるのですが、実際にテーブルを見ると”10.556”で入力されています。
そこで質問ですが、フォームで入力するときに小数以下は2桁しか入力できないようにするにはどのようにすれば良いのでしょうか?3桁以上入力するとエラーを出せればベストです。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
フィールド名=金額、データ型=通貨型、「標準」タブの
「入力規則」にFix([金額]*100)=[金額]*100をいれて、20例ぐらいテストでやって見たんですが、上手く行きます。小数点3位以下があれば、100倍したものと
小数点以下捨てたものと合わなくなることを利用。
1.234-->左辺123、右辺123.4
123<>123.4という理屈です。エラーが出て
受けつけません。
No.2
- 回答日時:
こんにちは。
maruru01です。いくつか方法があります。
方法1.定型入力
定型入力で、
「99999.99」
などとすれば、小数点以下を2桁までに制限出来ます。
ただし、整数部分の最大桁数を決めなければいけないのと、整数のみの入力で少ない桁数の場合に、半角スペースで補わないといけないという問題があります。
方法2.イベント処理
入力するテキストボックス(仮にテキスト0とする)の変更時イベントに、次のようなコードを書きます。
Dim temp As String '入力値
Dim p As Long '"."の位置
temp = Me!テキスト0.Text
p = InStr(1, temp, ".")
If p > 0 Then
If Len(Mid(temp, p + 1)) > 2 Then
MsgBox "小数桁数オーバー"
Me!テキスト0.Text = Left(temp, p + 2)
End If
End If
ただし、この場合は、小数点(.)が2度入力されたらなどの問題があるので、さらに詳細に入力チェックを記述する必要があります。
方法3.入力は出来るが使用しない
3桁以上入力しても、四捨五入して2桁までを使用するということにしておく。
テーブル上のデータは3桁以降も持つが、計算や表示では2桁しか使わない。
もちろんデータを書き出したり、プリントアウトしたりする場合も、2桁にする。
などです。
No.1
- 回答日時:
こんにちは、ats8181oyajiです
>テーブル、フォームの「小数点以下表示桁数」をそれぞれ ”2”に設定
僕も同じように設定しましたが、
テーブル、フォームともちゃんと2桁表示になりますよ?
プログラムで処理するのでしたら
イベントの更新前処理にエラー処理を入れてあげます
では
この回答への補足
早速の回答ありがとうございます。
ご指摘のように表示は2桁になるのですが、この方法では3桁以上入力できます。もちろん注意して2桁入力すれば良いのですが・・・。
3桁以上入力すると見た目は2桁なのですが、テーブルで目的のデータの金額項目をダブルクリックすると実際に入力した値が出てきます。
フォームやレポートでこのデータを表示すると、3桁目で四捨五入されてしまいます。そんな訳で絶対に3桁以上入力できないようにしたいと思い、質問させていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
-
4
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
5
Access-フォームの小数点以下が切り捨てられてしまう
その他(データベース)
-
6
Accessでの小数点以下入力規制について
Excel(エクセル)
-
7
accessで数値の表示桁数を指定する方法
Excel(エクセル)
-
8
アクセスのフォームのビューが表示されないのですが、
その他(データベース)
-
9
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
10
Access2010 「演算子がありません」エラー
その他(データベース)
-
11
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
12
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
13
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
14
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
ACCESSでフィールド名の変更(VBA)
Access(アクセス)
-
17
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
18
ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます
Access(アクセス)
-
19
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
20
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで数値型のフィールド...
-
データベースのINT型項目にNULL...
-
このオブジェクトに値を代入す...
-
Accessでの小数点以下入力規制...
-
passwordが入れられません・・・・
-
Excelで入力したデータを自動的...
-
Access フォーム フィールドへ...
-
Accessで小数の入力について
-
フォームで入力しても反映されない
-
Access2007、フォームのテキス...
-
オラクルのテーブルでの入力制限
-
入力規則違反-任意のエラーメ...
-
ACCESSフォームでの時間の妥当...
-
複数項目の入力チェックについて
-
MA ACCESSデータベースに詳しい...
-
アクセス2003 入力規則
-
アクセスのテキストボックスの...
-
Access レポート印刷するときに...
-
レコードを保存するコード ア...
-
ACCESS フォームをそのまま印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
フォームで入力しても反映されない
-
Excelで入力したデータを自動的...
-
Access(office)のマクロの「値...
-
このオブジェクトに値を代入す...
-
アクセスのテキストボックスの...
-
入力規則違反-任意のエラーメ...
-
Accessで小数の入力について
-
ファイルメーカー 一ヵ月後の...
-
Access2007 textboxに入力でき...
-
日付のテキストボックスに(例...
-
SQLで構文を間違って入力して;...
-
Access2007、フォームのテキス...
-
パラメータクエリで抽出がうま...
-
Accessで西暦の年だけ表示したい
-
ACCESS2000にて「うるう年」の...
-
EXCELのユーザーフォームで入力...
-
アクセスでの回数の表示
おすすめ情報