ACCESS2000で小数点以下を表示したい
検診データのうちある異常値の数値だけを表示したいのです.
しかもその数値が例えば6.0だったら小数点1桁まで表示したいのです.
クエリでIIF関数を使って空白にするか表示するかを設定すると
その数値のデータ型が数値型とならずプロパティの書式を0.0としても
効きません.
データ作成クエリとしてテーブルに書き出して、レポートのソースを
そのテーブルにしてみたのですが、その時点での数値がテキスト型
となってしまい、その都度数値型に変更しなければならず、汎用性が
ありません.テーブル作成クエリで作成するテーブルのデータ型をあらかじめ
設定する方法はないでしょうか?
それとも他によい方法はないでしょうか?
あいにくVBAレベルになると知識がなくさっぱりわかりません。

A 回答 (1件)

IIf([a]=異常値,Format$([a],"#,##0.0"),"")とすれば異常値のときは少数点第一位までを返し、それ以外であれば空文字列を返します。

    • good
    • 0

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

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

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

Q懲役一年未満、罰金100万以下の意味は?

「懲役一年未満、罰金100万以下」とは、どういう意味なのでしょうか?

広告を見たのは犬を虐待した場合は懲役一年未満、罰金100万以下という内容でした。

これは懲役なるかもしくは罰金になるかという意味なのですか。
それともどちらかを選択できるということなのですか。

分かる方、お願い致します。

Aベストアンサー

 刑罰法規に定められている刑を法定刑と言います。動物の愛護及び管理に関する法律第27条第1項ならば、「一年以下の懲役又は百万円以下の罰金に処する。」がそれにあたります。この条文を見ただけでは、刑の下限がわかりませんので刑法を見る必要があります。
 刑法第12条で有期懲役は、一月(いちげつ)以上十五年以下とされ、刑法第15条で罰金は、1万円以上となっていますので、「一年以下の懲役又は百万円以下の罰金に処する。」とは、「一月以上一年以下の懲役または、一万円以上百万円以下の罰金」に処するという意味になります。
 ところで裁判所が「動物の愛護及び管理に関する法律第27条第1項違反」で有罪と認定し、被告人に刑罰を科する場合、次のようにして刑罰を決めます。
 まず、懲役「又は」罰金となっていますから、刑種の選択をします。仮に罰金を選択したとします。次に刑の加重減軽事由(再犯加重、法律上減軽、併合罪加重、酌量減軽)がある場合は、法定刑に加重軽減を施し、その施された刑を処断刑といいます。専門的なので詳しい説明は省略します。最後に処断刑の範囲内で裁判所が被告人に言い渡すべき刑を決めます。言い渡すべき刑を宣告刑と言います。例えば、判決で「主文 被告人を罰金十万円に処する。」と言い渡された場合、罰金十万円が宣告刑にあたります。

 刑罰法規に定められている刑を法定刑と言います。動物の愛護及び管理に関する法律第27条第1項ならば、「一年以下の懲役又は百万円以下の罰金に処する。」がそれにあたります。この条文を見ただけでは、刑の下限がわかりませんので刑法を見る必要があります。
 刑法第12条で有期懲役は、一月(いちげつ)以上十五年以下とされ、刑法第15条で罰金は、1万円以上となっていますので、「一年以下の懲役又は百万円以下の罰金に処する。」とは、「一月以上一年以下の懲役または、一万円以上百万円以下の罰金...続きを読む

Qクエリで日付型のIIF関数の使用

テーブル1にフィールド名→日付、データ型→日付/時刻型(主キーなし)
を作成し、
クエリ1を作成し、フィールド1にテーブル1の日付フィールドをドラッグし、
フィールド2には「有無: IIf([日付]="","未",[日付])」
を入力しました。
「日付フィールドが空白なら有無フィールドは「未」、入力されているならその日付を表示する」
としたいです。

しかし画像のように
日付フィールドが空白→有無フィールドも空白
日付フィールドに日付が入っているなら→有無フィールドは#エラー
になってしまいます。

何がだめなんでしょうか?
よろしくお願い致します。

Aベストアンサー

>何がだめなんでしょうか?
日付/時刻型のデータは文字列型ではないので""と比較する事は出来ません。

なので、データが入っているレコードでは「型が違うから比較出来ない」のでエラーになり「#error」が表示されます。

そして、データが入っていないレコードでは、型の違いによるエラーにはなりませんが「NULL値と""は等しくない」と判断され「日付、つまり、NULL」が表示されます。

「長さ0の文字列」と「NULL値」は「異なる値」だと言う事を忘れてはいけません。

つまり
>日付フィールドが空白→有無フィールドも空白
>日付フィールドに日付が入っているなら→有無フィールドは#エラー
になる訳です。

これは「意図した動作ではないが、仕様通りの動作」なので
有無: IIf([日付]="","未",[日付])
と言う式を書いた場合には、上記の動作は正常な動作です。

質問者さんが意図した通りに動作させるにはIsNull関数を用い
有無: IIf(IsNull([日付]),"未",[日付])
として下さい。

Q以下の文で使われている「相対的」ってどういう意味?

以下の文で使われている「相対的」ってどういう意味?

 以下の文を読んでください。
→個人的な意見として、「税目の中で相対的にどこを増やすか?」という問題設定の場合、消費税には反対しない。
 
 上記文の「相対的」の意味を、僕なりに考え、以下の2つあげますので、正しい番号を記載していただければ幸いです。また、以下の2つに正しい答えがなかったら、答えを明記していただければ幸いです!

 (1)税目の中には、下がるものもあるが、税「全体」としては増加する。
 (2)ほかの税目と比べて消費税の税率が低いから、消費税をあげる。

Aベストアンサー

(1)、(2)いずれも正しくないと思います。

》(1)税目の中には、下がるものもあるが、税「全体」としては増加する。

→正しくない。ご質問の文の中に、「下がるものがある」とは書かれていません。

》 (2)ほかの税目と比べて消費税の税率が低いから、消費税をあげる。

→正しくない。「ほかの税目と比べて消費税の税率が低い」とは書かれていません。


元の文に書かれていることは、「消費税(=消費税の税率)を上げることに反対しない」です。

他の税を上げること(の賛否)については、自分の考えは決まっていない、という意味が含まれています。
 

Qaccessのクエリの式ビルダで、べき乗計算させるときに、その都度切捨てできる方法はありますか。

accessのクエリの式ビルダを使ってべき乗計算させたいのですが、その際、その都度切捨てをしたいのですが、難しいでしょうか。
具体的にいうと、
XにYをN-1乗させる場合、「X*Y^(N-1)」となりますが、
ここで、Yを1回かけるごとに小数点以下切捨てたいので
1回目はint(X*Y)とかけます。
その次からはint(int(X*Y)*Y)とかけますが、
なにぶんN-1をかけて求めたいため、
どのように式を組んでよいかわかりません。
よい方法があれば教えてください。
よろしくお願いします。

Aベストアンサー

テーブルの情報が欲しかったんですけどね
テーブルは下のようなものと仮定します
「??T](取得価格、現価率、年数)

評価額=3000*(1-0.206/2)
は2691じゃなくて2607だよね

それでよければ下のようなユーザー関数を作り
クエリで
評価額:Hyoukagaku(取得価格,原価率,年数)
のように使います

Public Function Hyoukagaku(b, c, d)
Dim I As Integer, c2 As Single, b2 As Long
b2 = b

For I = 1 To d
If I = 1 Then
c2 = c / 2
Else
c2 = c
End If

b2 = Int(b2 * (1 - c2))
Next

Hyoukagaku = b2
End Function

テーブルの情報が欲しかったんですけどね
テーブルは下のようなものと仮定します
「??T](取得価格、現価率、年数)

評価額=3000*(1-0.206/2)
は2691じゃなくて2607だよね

それでよければ下のようなユーザー関数を作り
クエリで
評価額:Hyoukagaku(取得価格,原価率,年数)
のように使います

Public Function Hyoukagaku(b, c, d)
Dim I As Integer, c2 As Single, b2 As Long
b2 = b

For I = 1 To d
If I = 1 Then
c2 = c / 2
Else
...続きを読む

Q以下の例文、文法的に、そして意味的にあっていますか?

以下の例文、文法的に、そして意味的にあっていますか?

Let me have our picture taken.

もしあっているのなら意味と理由もお願いします。

Aベストアンサー

have a picture taken で「写真を撮る」
let me 動詞の原形で「わたしに~させて」
文法的にはあっていますが、Let us have our picture taken = Let's have our picture take 「私たちの写真取ろうよ」にしないと変でしょうね。

Qクエリの一つのフィールドのIIF関数の限界は14個ですか?

アクセス2003のクエリで
たくさんの条件があり
IIf(テーブル名!フィールド名,"正",IIf(・・・
と言う風に、IIF関数を14個までなら正常に動くのですが
15目になると「式が複雑すぎます」となってしまいます。
IIF関数の限界は14個なのでしょうか?

Aベストアンサー

はい。Choose28だったかな?
IIf Switch
は14だったと思います。

QU30/30歳以下の意味を教えてください。

U30/30歳以下の意味を教えてください。

Aベストアンサー

30歳より下(30歳も含む)という意味。

Q【Access】レポートで数値型データが時刻型?で表示される

作業環境
・WindowsXP
・Access2007

よろしくお願いします。

クエリをレコードソースにしたレポートを作成した時、一つの数値型フィールドが時刻型?(0:00:00)で表示されてしまいます。

【材料コード】という数値型フィールドなのですが、このフィールドのみ正常に表示されません。
他の数値型フィールド(金額、数量etc)は正常に表示されています。
新規にテキストボックスを作っても、(0:00:00)と表示されます。
レポート表示前に、パラメータとして材料コードを指定しますが、クエリの段階では正しく材料コードが取得できています。
問題のフィールドの書式や規定値へ特殊な設定をしていない事は確認済です。

他のテキストボックスとコントロールソースを交換するという方法も考えましたが、
例)【工場コード】テキストボックスのコントロールソースを【材料コード】とし、
【材料コード】テキストボックスのコントロールソースを【工場コード】とする

上記の場合だと、材料コードが正常に表示されて、工場コードが(0:00:00)と表示されてしまいます。


何か原因として考えられる事はないでしょうか。

作業環境
・WindowsXP
・Access2007

よろしくお願いします。

クエリをレコードソースにしたレポートを作成した時、一つの数値型フィールドが時刻型?(0:00:00)で表示されてしまいます。

【材料コード】という数値型フィールドなのですが、このフィールドのみ正常に表示されません。
他の数値型フィールド(金額、数量etc)は正常に表示されています。
新規にテキストボックスを作っても、(0:00:00)と表示されます。
レポート表示前に、パラメータとして材料コードを指定しますが、クエリの段階...続きを読む

Aベストアンサー

入れ替えても そのテキストボックスの表示がおかしいとなると
>問題のフィールドの書式や規定値へ特殊な設定をしていない事は確認済です。
これは、テーブルのことですよね?
実際のレポートのテキストボックスに書式が入っているのではないですかね
そうであれば、入れ替えた時の状態にも一致します。

Q以下の英文の意味を教えてください。

以下の英文の意味を教えてください。

The book could not be entrusted to a more competent hand.

Aベストアンサー

 No.3の方の解釈で良いと思います。「couldn't」は推量を表し「比較級」と用いることで「これ以上~になることはないだろう。(これが最も~だ。)」という意味を表します。

(1) It couldn't be better.(それは最高だ。)
(2) I couldn't be happier.(私は今最も幸福だ。)
(3) Couldn't be worse.(最悪だ。)

 お尋ねの英文は「その本は(これ以上)有能な人の管理下におかれることはないだろう。」という直訳から「その本は最も有能な人の管理下に置かれている。」という意訳が可能です。

 「couldn't be 比較級」が最上級の意味を表すことは日本人にはなかなかなじめないことかもしれませんが、多くの英文に触れて感覚を覚えると良いでしょう。

 ご参考になれば・・・。

Qアクセスのデータ型。数値型についてお聞きしたいのですが・・・

アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に

(1)バイト型(0~255の範囲。小数点以下の数値は扱えない)
(2)整数型(-32,768~32,767の範囲。小数点以下は扱えない)
(3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない)
(4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。
            小数点以下の数値が扱える)
(5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231×
           10^308の範囲。少数点以下の数値が扱える)
(6)十進型(-10^28-1~10^28-1の範囲。小数点以下の数値が扱える)

と6種類決められますが、それぞれの「選び方の違い」と「その理由」を
教えてください。

たとえば、(1)~(3)くらいなら分かります。
扱える数値の桁数が違うということですよね?で、(1)~(3)を選ぶ時と(4)~(6)を
選ぶときで大きな違いというと、「小数点以下の数値が扱えるかどうか」
ですよね?そういう認識であっているか・・・ということと、上記の(1)~(6)を
「選び分ける必要がある場合」というのを教えてください。

なぜ、このような6種類に分かれているのか、人に説明しないとなりません。

よろしくお願い致します。m(_ _)m

アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に

(1)バイト型(0~255の範囲。小数点以下の数値は扱えない)
(2)整数型(-32,768~32,767の範囲。小数点以下は扱えない)
(3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない)
(4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。
            小数点以下の数値が扱える)
(5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231×
           10^308の範囲。少...続きを読む

Aベストアンサー

整数型と浮動小数点型の大きな違いは、少数点以下の数字を扱えるかどうかで合っていると思います。
補足すると、浮動小数点型の方が整数型より大きい数字が扱えます。
長整数型なら21億くらいまでしか扱えませんが、浮動小数点型なら、兆、京・・・と非常に大きい数字が扱えるようになります。
有効数字として、どのくらいのケタを保持できるかが、精度になります。
倍精度は単精度の倍の精度です(当たり前ですが)

コンピュータが2進数で数字を表現していることはご存知のことだと思いますが、2進数で少数を表す場合、必ずしも10進数の少数と一対一に対応するわけではありません。2進数を10進数に直すのはnビットめの数字(0,1)*2のn乗の和ですが、少数の場合は-n乗になります。つまり1/2+1/4+1/8っていうような感じになります。0.75だったら、1/2+1/4で表現できますが、0.3とかになると1/4+1/32+・・・という感じできっちり表現しきれないので、0.299・・・という近似値になります。

それで問題があるようでしたら、十進型を使えば?ってことだと思います。

整数型と浮動小数点型の大きな違いは、少数点以下の数字を扱えるかどうかで合っていると思います。
補足すると、浮動小数点型の方が整数型より大きい数字が扱えます。
長整数型なら21億くらいまでしか扱えませんが、浮動小数点型なら、兆、京・・・と非常に大きい数字が扱えるようになります。
有効数字として、どのくらいのケタを保持できるかが、精度になります。
倍精度は単精度の倍の精度です(当たり前ですが)

コンピュータが2進数で数字を表現していることはご存知のことだと思いますが、2進数...続きを読む


人気Q&Aランキング