次の方法で共有

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

Anonymous
2013-07-08T10:16:41+00:00

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

■問題内容

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

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

環境は次の通りです。

サーバーPostgres 9.00.03

クライアントWin7/Access2010

■現象

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

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

■解析した内容

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

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

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

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

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

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

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

よろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2013-07-09T07:22:00+00:00

eipost さん、こんにちは。

マイクロソフト コミュニティ への投稿ありがとうございます。

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

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

・ Postgres は PostgreSQL のことですか?

・ 「PostgresのDBにリンクを貼って」 は、具体的にどんな方法ですか?

・ numeric で扱える数値データの範囲、格納しているデータの長さ (大きさ)

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

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

詳しい状況などの書き込み、お待ちしています。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2013-07-25T00:59:44+00:00

    返信を頂いてから、だいぶ時間がたってしまいました。。。すみません。

    あと、返信ありがとうございます。

    使っているDBはPostgresSQLのことです。リンクの張り方はODBC接続によるものです。

    頂いた回答内の解決策はPostgresSQL内にviewを作るってそっちをアクセスで参照すれば

    OKでしょう?ということですよね。この発想はなかったです!!

    この方法であればデータ型の制約を受けずにアクセスで色々出来そうな気がしてきました。

    ちょっと試してみたいと思います。

    対応ありがとうございました。

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません