2017-10-23 11 views
0

私は単純な密度計算をアクセス2016に含めようとしていますが、入力次元(質量または球の直径)が< 0.5の場合、この値は0の値を返します。このフィールドは大きなディメンションでうまく機能するので、小さい値は途中で0に丸められていると仮定しますが、どこに位置するのかわかりません。アクセス2016計算されたフィールドがゼロに丸めます

私のテーブルの入力には、フィールド名が "green mass"、 "green pole"、および "green equator"で、それぞれのデータ型が "number"に設定され、小数点以下の桁数は4桁に設定されます

結果の密度は、データ型が「計算済み」に設定されているフィールド「見た目の密度」に表示されます。が "single"に設定され、小数点以下の桁数が4桁に設定されています。

さまざまなアクセスフォーラムやウェブサイトを見た後、私は私のフィールドのサイズとして、シングルまたはダブルを使用したいかなり確信しているが、私はまた、小数やバイトと整数を試してみた私は0

を得続けますなぜこれは動作していない説明することができますか?

式は次のとおりです。これは、3つの部分からなるIf文(球の寸法が与えられている場合、球の密度が計算されている場合、ディスクの寸法が与えられている場合、ディスクの密度を計算する場合、立方体の寸法の場合...)すべての3つのケースは大きなディメンション(> 0.5)で機能しますが、3つすべてディメンション< 0.5では0になります。

IIf([GreenPole],[GreenMass]/(3.14159265359/6*2.54^3*(([GreenPole]+[GreenEquator])/2)^3),IIf([GreenDia],([GreenMass]/(3.14159265359*([GreenDia]/2)^2*[GreenHeight]*2.54^3)),IIf([GreenLength],[GreenMass]/([GreenLength]*[GreenWidth]*[GreenThickness]*2.54^3),0)))

球の密度のための方程式の最初の部分は、次のとおりです。

`IIf([GreenPole],[GreenMass]/(3.14159265359/6*2.54^3*(([GreenPole]+[GreenEquator])/2)^3),0) 
+1

計算に使用されている式が分からないと難解です。 –

+0

私は数式を含めるように質問を更新しました。私は3つのケース(球、円盤、立方体)すべてで同じエラーが発生するので、これはテーブル設定のどこかで丸め/小数点の制限であるともっと確信しています... – AMiller

+0

フォーマットの問題でしょうか? –

答えて

0

オリバーJacot-Descombesは私は正しい方向に始まりました。私はコーディングではあまり経験がありませんが、私はIIfステートメントで特定されたフィールドが何らかの形でブール値またはyes/noフィールドに変換され、0.5未満の値がnoに丸められ、

IIf([GreenPole]>0,[GreenMass]/(3.14159265359/6*2.54^3*(([GreenPole]+[GreenEquator])/2)^3),0) 

そして、すべてが機能するようになりました:truepartは、私は、コードを変更し、その後0

です。 (また、2番目と3番目のIIfの文章をIIf([GreenLength]>0IIF([GreenDia]>0に変更しました。)

関連する問題