- ベストアンサー
テキスト型項目を日付型項目に定義変更することは可能?
WinXPでACCESS2000を使用しています。 今、サーバ上のDBにリンクし、必要項目を抽出し、Excelに展開したところ、本来日付である項目が、 テキスト型となっており、日付として扱う事が出来ません。 Excelでセルの書式変更をかけても、****となってしまいます。 尚、サーバのDBの定義を変更する事は出来ません。 何か良い方法はないでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
20051209というのは日付型のデータではないので数値としてインポートされています。 エクセルで直すこともアクセスで直すことも可能ですが、とりあえず何度も抽出するのであればアクセスで直したほうが便利でしょうから、抽出クエリの[日付]フィールドを date: =dateserial(left([日付],4),mid([日付,5,2),right([日付],2)) と書き換えてみればできると思います。 日付のフィールドにスペースがあるとその前に省いておかないとだめですけど。
その他の回答 (2)
- shiotan99
- ベストアンサー率68% (140/203)
こんにちは~ エクセル側で日付変換してもよいなら次のようにしてみてください。 20051209 のようなデータが入っている列を選択 メニューのデータ~区切り位置 表示されたダイアログの下にある <次へ>を2回クリックして 3画面目へ 「列のデータ形式」 から 「日付」 を選び、<完了>をクリック 以上で、日付データに変換されると思います。
お礼
Excelでも出来たんですね。^^; どうもありがとうございました。
accessでサーバ上のdbのテーブルにリンクしてエクセルに出力しているという前提でよろしいでしょうか? リンクテーブルで、データ型を選ぶ際に日付型を選べば、大丈夫だと思いますが、どうしてもエラーが起きる際は Cdate や Dateserialなどを使って、別テーブルに書き出した後エクセルに出力すればよいかと思います。 もともと、リンクテーブルにどのような形で入力されてきますか? 2005/12/9 or 20051209 それによって多少扱い方が変わってくると思います。
補足
16Augustさん、早速ありがとうございます。 テーブルリンクから抽出クエリを実行後、ファイル出力で、Excelに出力しています。 リンクテーブルで、直接定義を変更する意味ですが、大元のdbテーブルの属性を直接変更するという事ではなく、あくまでもAccessで取り込む際の変更と考えて宜しいでしょうか?そのあたりもよくわかっていませんでした。尚、形式としては、20051209で出力されています。 それから、素人なのでCdate や Dateserialの使い方も良くわかりません。
お礼
助かりました! どうもありがとうございました。