まりふのひと

数値フィールドがオーバーフローしました

「数値フィールドがオーバーフローしました。」のエラーに2日間も悩まされた。


柳井市のE社の AccessExcel の住所録にリンクを張り、ラベルを印刷している。ずっと以前に完成していたはずなのに‥‥
1っずつ追っていったら

  • Excel ワークシートにリンクし、
  • Access のテーブルに追加するクエリーで出ている。
  • 追加クエリーのフィールドを、「1っ削除しては、実行」を繰り返した結果、
  • 「郵便番号」が原因であることが判った。
  • しかし、データ型は、ExcelAccess も「テキスト型」。数値フィールドではないのに‥‥

  • AccessExcel の郵便番号で並べ替えると

    “#Num!” のデータが見つかった。
  • Excel を開き、該当データを見ると、

    郵便番号が“742”(数値なので、右詰になっている) になっていた。

何故タイトルのエラーになるかは不明であるが、データの不整合であることには違いない。

    • Excel の“742”を消去すると、エラーは出ない。
       かといって、ユーザーのデータだから消去する訳にはいかない。

ネットで“Access "#Num!"”で検索している最中に気が付いた。

    • Excel の郵便番号の列の書式を「文字列」にしたらどうなるか?

‥‥ ダメだッ!
引き続きネットを検索‥‥

No59435. #Num!がどうしても回避できません。。。
Excelで、その列を選択してメニューから「データ」>「区切り位置」>「次へ」>「次へ」> ●文字列を選択して >「完了」
上書き保存してからインポートしてみてください。‥‥引用:
やってみた ‥‥ 成功
これは Word の[書式]メニュー ⇒[文字種の変換]に相当するものだ。
Excel では、[データ]メニュー ⇒[区切り位置]‥‥ 想定外だなぁ〜
Excel では右図のように表示される。これは、“'742”と入力したのと同じだ。

(追加キーワード:文字種変換;strconv)