ACCESSのテーブルデータ、または、クエリのデータを、そのままCSVファイルにしたい時があります。

しかし、ある条件が、その作業を阻むときがあります。

今回も諦めていました。

スポンサーリンク

ACCESSのデータをCSVファイルに出力するときの注意点

 

こんにちは。伊川(@naonaoke)です。

CSVファイルは、実務では必須ですね。

インポートしたり、エクスポートしたり、私は、CSVファイルを、扱わない日はないです。

しかし、CSVファイルは、Excelの形式に、紐づけされていることが多く、文字を扱う場合には、問題がありません。

しかし、数字や、日時を扱うときは、要注意です。

それは、正しく反映されないときがあります。

 

その正しく反映されないときに、ぶち当たりました。

 

何をやってもうまくいきませんね

そんな時の失敗談を記載します。

スポンサーリンク

このブログはこんな人にお勧め

今回のテーマ
  • 今、VBAでハマっている人
  • VBAで、2日以上悩んでいる人
  • 実行しても、正しく反映されず、VBAをやめようと思っている人

このブログを、読み終わるころには・・・・

このブログの結論
今まで、利用していなかった機能を見直してみましょう。
その見直しが、思いもよらず解決へ、つながります。
無理に、VBAを利用して難しく考えないようにしましょう。

 

スポンサーリンク

ACCESSから、16桁の数値を出力する

なぜ、16桁の数字なのか?

Naosuke
もちろん競馬です。

ACCESSから、抽出した、馬券の買い目を自動で抽出するからです。

もちろん、手動で買い目の入力してもいいのですが、ヒューマンエラーの恐れがあります。

事実、私は、入力間違いにより、万馬券を、2回のがしています。

もっとも、入力間違いにより、万馬券をGETしたこともあります。

 

しかし、絶対に妥協できません。

競馬となるとね。

ACCESSから、16桁の数値を出力する 作業手順 その1 CSVファイルを作成するコード

これは、意外とカンタンでした。

このコードを実行するだけなのです。

しかし、今回のように、16桁の数字の場合は、カンタンにはいかないのです。

ACCESSから、16桁の数値を出力する 作業手順 その2 実際に出力してみた

 

この数字の羅列をCSVで出力します。

数字が、左詰めなので、もちろん、ACCESSは、数字ではなく、文字列をして扱っています。

出力すると、上記のようになります。

Excelは、12桁以上の数字は、上記のように、指数で表示します。

しかし、表示上、指数形式になっているだけで、1234567891234567のようになっているかもしれません。

そんな時は、メモ帳で確認してみます。

スポンサーリンク
このような表示になります。

これは、1234567891234567を、文字として扱っているので、1234567891234567の前後に、ダブルクォーテーションが付きます。

場合によっては、1.234587E+15のように表示される場合があります。

結局、Excelの機能が邪魔をして、うまく表示されないのです。

 

ACCESSから、16桁の数値を出力する 作業手順 その3 ハマりの思考

ここからが、ハマりました。

考えたこと
VBAで、一旦、Excelを起動させて、A列を文字列にしてから、CSVで保存する。
⇒できたけど、文字化けが発生メモ帳を起動して、CSVファイルで保存する。

 

メモ帳を起動して、CSVファイルで保存する。

⇒やろうと、思ったけど、面倒だからやめた

 

ACCESSとExcelを連携して、CSVファイルを作成する
⇒これが、王道でしょうが、コードを書くのが面倒。

Naosuke
カンタンなコードで出力できるのに、なんか悔しい。

ACCESSから、16桁の数値を出力する 作業手順 その4 テーブルを再設定

テーブルのフィールドサイズを、十進型

精度を、16、つまり、16桁の16です。

 

桁が、16桁あるのに、指数形式で表示されていないです。

ACCESSって、すげーとおもいました。

これでCSV出力をして、ダブルクォーテーションがなければ成功です。

数値型の[フィールドサイズ]プロパティ

 

オートナンバー型の[フィールドサイズ]プロパティ

 

短いテキストの[フィールドサイズ]プロパティ

ここがポイント

 

ここがポイント
Function8.png
ACCESSのことは、知っているつもりでしたが、全然でした。
当然、もっと、知らないこともあると思います。
ACCESSの内部のことも、理解できれば、もっと便利な、ツールを作成できると思います。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

今回ほど、テーブル設定の大切さが、身に染みたことはありませんでした。

テーブル、クエリ、フォーム、レポート、すべてそろってACCESSですね。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No275です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格
スポンサーリンク

Twitterでフォローしよう

おすすめの記事