「数値フィールドがオーバーフローしました。」のエラーに2日間も悩まされた。
柳井市のE社の Access。Excel の住所録にリンクを張り、ラベルを印刷している。ずっと以前に完成していたはずなのに‥‥
1っずつ追っていったら
- Excel ワークシートにリンクし、
- Access のテーブルに追加するクエリーで出ている。
- 追加クエリーのフィールドを、「1っ削除しては、実行」を繰り返した結果、
- 「郵便番号」が原因であることが判った。
- しかし、データ型は、Excel も Access も「テキスト型」。数値フィールドではないのに‥‥
- Access で Excel の郵便番号で並べ替えると“#Num!” のデータが見つかった。
- Excel を開き、該当データを見ると、郵便番号が“742”(数値なので、右詰になっている) になっていた。
何故タイトルのエラーになるかは不明であるが、データの不整合であることには違いない。
-
- Excel の“742”を消去すると、エラーは出ない。
かといって、ユーザーのデータだから消去する訳にはいかない。
- Excel の“742”を消去すると、エラーは出ない。
ネットで“Access "#Num!"”で検索している最中に気が付いた。
-
- Excel の郵便番号の列の書式を「文字列」にしたらどうなるか?
‥‥ ダメだッ!
引き続きネットを検索‥‥
No59435. #Num!がどうしても回避できません。。。やってみた ‥‥ 成功
Excelで、その列を選択してメニューから「データ」>「区切り位置」>「次へ」>「次へ」> ●文字列を選択して >「完了」
上書き保存してからインポートしてみてください。‥‥引用:
これは Word の[書式]メニュー ⇒[文字種の変換]に相当するものだ。
Excel では、[データ]メニュー ⇒[区切り位置]‥‥ 想定外だなぁ〜
Excel では右図のように表示される。これは、“'742”と入力したのと同じだ。
(追加キーワード:文字種変換;strconv)