「少数を丸めたために、データが切り捨てられました」を回避する方法に関して


初めて投稿します。よろしくお願いします。

■問題内容

現在PostgresのDBにリンクを貼ってアクセス2010で簡易なシステムを構築していますが、

Postgres内のあるカラムの特定のデータをアクセスで参照すると次のような現象が発生してしまいます。

環境は次の通りです。

サーバーPostgres 9.00.03

クライアントWin7/Access2010

■現象

「少数を丸めたために、データが切り捨てられました。」とメッセージが出力される。

データシートの画面ではエラーのあったレコードのフィールドが全て「#エラー」で埋め尽くされる。

■解析した内容

どうもPostgresのカラム属性がnumericである場合で、かつ少数点以下7桁以上のデータがある場合に問題が起きるようです。

numericのカラムをアクセス側から見るとデータ型が「数値型」、フィールドサイズ「十進数」になっていました。

Postgresはnumericで少数点以下7桁以上のデータを持っているのに、それをアクセス側で見ると整数型の大きさと認識してい る?

Postgresが32bit以上の大きさのデータをもっているがそれをアクセスで表示させる時にアクセス側は32bit分の領域しか

準備できていないために桁溢れが起きていると思われます。(回りくどくてすみません。。)

上記問題を解決するためにFormat関数や文字列に変換して表示等を試しましたがどれもアウトでした。

このような問題を解決するためにはどのような方法があるでしょうか?

よろしくお願いします。

 

質問情報


最終更新日 2019年2月19日 表示 3,076 適用先:
回答
eipost さん、こんにちは。
マイクロソフト コミュニティ への投稿ありがとうございます。

Access 2010 で、他のデーターベースを参照する際の現象についての質問ですね。

以下についてもわかると、アドバイスのコメントが寄せられやすくなるかもしれませんよ。

・ Postgres は PostgreSQL のことですか?
・ 「PostgresのDBにリンクを貼って」 は、具体的にどんな方法ですか?
・ numeric で扱える数値データの範囲、格納しているデータの長さ (大きさ)

DB サーバー (Postgres) に Access のデータ型に合うように数値データを丸めるようなクエリを作っておいて、そのクエリを Access で参照するのもひとつの方法だと思います。

参考ページ : フィールド サイズの設定 (Access 2010)

詳しい状況などの書き込み、お待ちしています。
楠部 啓 – Microsoft Support

この回答は 1 人の役に立ちました

·

この回答で問題は解決しましたか?

役に立ちませんでした。

回答としてマークしていただきありがとうございます。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この回答の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。