プロが教える店舗&オフィスのセキュリティ対策術

WinXPでACCESS2000を使用しています。

今、サーバ上のDBにリンクし、必要項目を抽出し、Excelに展開したところ、本来日付である項目が、
テキスト型となっており、日付として扱う事が出来ません。
Excelでセルの書式変更をかけても、****となってしまいます。
尚、サーバのDBの定義を変更する事は出来ません。

何か良い方法はないでしょうか?
よろしくお願いします。

A 回答 (3件)

20051209というのは日付型のデータではないので数値としてインポートされています。

 エクセルで直すこともアクセスで直すことも可能ですが、とりあえず何度も抽出するのであればアクセスで直したほうが便利でしょうから、抽出クエリの[日付]フィールドを

date: =dateserial(left([日付],4),mid([日付,5,2),right([日付],2))

と書き換えてみればできると思います。 日付のフィールドにスペースがあるとその前に省いておかないとだめですけど。
    • good
    • 0
この回答へのお礼

助かりました!
どうもありがとうございました。

お礼日時:2005/12/21 15:51

こんにちは~



エクセル側で日付変換してもよいなら次のようにしてみてください。

20051209 のようなデータが入っている列を選択
メニューのデータ~区切り位置
表示されたダイアログの下にある <次へ>を2回クリックして 3画面目へ
「列のデータ形式」 から 「日付」 を選び、<完了>をクリック

以上で、日付データに変換されると思います。
    • good
    • 0
この回答へのお礼

Excelでも出来たんですね。^^;
どうもありがとうございました。

お礼日時:2005/12/21 15:52

accessでサーバ上のdbのテーブルにリンクしてエクセルに出力しているという前提でよろしいでしょうか?


リンクテーブルで、データ型を選ぶ際に日付型を選べば、大丈夫だと思いますが、どうしてもエラーが起きる際は Cdate や Dateserialなどを使って、別テーブルに書き出した後エクセルに出力すればよいかと思います。 もともと、リンクテーブルにどのような形で入力されてきますか? 2005/12/9 or 20051209 それによって多少扱い方が変わってくると思います。

この回答への補足

16Augustさん、早速ありがとうございます。
テーブルリンクから抽出クエリを実行後、ファイル出力で、Excelに出力しています。
リンクテーブルで、直接定義を変更する意味ですが、大元のdbテーブルの属性を直接変更するという事ではなく、あくまでもAccessで取り込む際の変更と考えて宜しいでしょうか?そのあたりもよくわかっていませんでした。尚、形式としては、20051209で出力されています。
それから、素人なのでCdate や Dateserialの使い方も良くわかりません。

補足日時:2005/12/20 18:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!