• ベストアンサー

【Access】インポート時のメモ型にも関らず字数オーバー

Access2003です。 テキストファイルでインポートしようとして、 ウィザードに従い区切りの長さでフィールド分けしました。 ウィザードの途中のフィールドのオプションで、フィールド5をメモ型に設定しました。 設定の方もメモ型にしました。定義は空です。 インポートはエラーなく完了しましたが、 256字以上の部分は次のフィールドに設定されました。おそらくテキスト型の設定になっているのだと思います。 どこの設定を直せばメモ型がメモ型で認識されるのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#14314
noname#14314
回答No.4

 気になったので手元で実験してみましたが、256文字以上インポートできました。具体的には300で試しました。  No.3のmshr1962さんの回答に >左下の設定ボタンを押してください とありますが、この左下の設定ボタンを押して、各フィールドの「幅」を設定する箇所がありますが、ここに256以上の値を設定していますか?

kiki360
質問者

お礼

それでした。 そこの値が文字列より少なかったようです。 以後気をつけます。 macky-osakaサマ、Dxakサマ、mshr1962サマ、karihoneサマ どうもありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

>2.ファイル-外部データと取り込み-インポート-(ファイルの種類:テキストファイル)-x.txtをインポート の後で左下の設定ボタンを押してください。 フィールド毎にデータ型の選択が可能です。 文字のフィールドの既定値はテキスト型なのでメモ型に変更してください。 度々インポートがある場合は、定義を保存することも可能です。

kiki360
質問者

補足

回答ありがとうございます。 それも試みてみたのですが、 メモ型にしても字数オーバーになり隣のフィールドに書き込まれてしまいます。 一度定義づけしても、やはり字数オーバーです。 どうも256文字以上は次のフィールドへ送られるようです。つまり、テキスト型になっているようです。。 確認のためインポート後、メモ型に設定したフィールドに適当な文章258字をペーストしました。 それも256文字でぶったぎられました。 でも確認するとメモ型です。 Accessの設定はまったくいじっていません。 念のため、まったく新しいファイルでメモ型を設定して文章を入れてみました。 256字以上も認識されました。 インポートした場合のみメモ型がメモ型で認識されないようです。 ちなみにexcelでインポートしたら完全に文末まで認識され成功しましたが、accessへの移行がまたうまく行きません。 いずれにしろ、何か方法はありませんでしょうか。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

えっと、csv形式のデータでメモ型ですか? 私もうまくいった記憶が無いです・・・。 その時の対処は確かExcel経由でデータを移行した記憶があります。 一度、Excelのxlsシートで読み込み「区切り位置」でセル単位に分割し、読み込んだ記憶がありますが・・・。

回答No.1

こんばんは、kiki360さん。 テキストからインポートする時に、テキストインポートウィザードに従って、実施しているはずです。 この時にフィールドの設定で、メモ型でなく、テキスト型でインポートしているからです。 右上にデータ型を指定するプルダウンがあります。

kiki360
質問者

補足

回答ありがとうございます。 それがどうもうまく行かないのです。 手順を確認してみます。 1.ファイル-新規作成-新しいテーブル 2.ファイル-外部データと取り込み-インポート-(ファイルの種類:テキストファイル)-x.txtをインポート 3.固定長を選択-(次へ) 4.フィールドの区切り-(自動認識してくれました) 5.新規テーブルに保存する 6.フィールドのオプション-フィールド5:データ型:メモ型 7.主キーを自動的に設定する 8.完了 -------- こうするとフィールド5から文字がはみ出てフィールド6,7のほうにも書き込まれています。 表示の問題のようではなく実際にフィールド6,7にも 長文が割り当てられていました。 ちなみに、200字程度だとフィールド内におさまるので、テキスト型になっているようです。 デザインで確認すると、日付・時刻は日付時刻型になっていて、フィールド5はメモ型になっていました。 どこの問題でしょうか。 ややこしくてすまないです。

関連するQ&A

  • Accessにインポート時、メモ型に設定したい

    Access97を使用しています。Excelで事例集を作っており、 随時期間ごとに抜粋して保存するためにAccessにインポートして条件で抜き出す事にしました。 (毎回インポート&エクスポートします) おおむねうまくいったのですが、詳しい症例を書く欄が255バイトを越えるため途中で切れてしまいました。 テキスト型ではなくメモ型なら全部インポートされると分かったのですが DoCmd.TransferSpreadsheetを使った場合、メモ型の設定は行えるのでしょうか。 (手動インポートでは予めテーブルAを用意し、フィールドを設定しておけばうまくいきました) また、テキストのインポートの場合はインポート定義を利用できるのが分かったので 一度エクセルをタブ区切りテキストにしてから手動でインポートするとうまくいったものの Transfertextを使うと、タブ区切りの位置を無視&文字化けが起きてしまいました。 できれば、xlsのままインポートが望ましいですが、テキスト変換してからでも 構いませんのでメモ型をきちんとインポートする方法をご教授願います。

  • access2010でメモ型がインポートできない

    以前のACCESS2000では出来ていたのですが、ACCESS2010(windows7)にバージョンアップしたところ、csvファイルのインポートで、メモ型のデータが255文字までしかインポートできなくなりました。 調べてみたところ、そのフィールドを、クエリなどで使用しているとキャスト(型変換)されるのでメモ型ではなくなり255文字の制限がかかる、との記述がありましたが、新しいテーブルを作成してインポートしてもできませんでしたので、別の原因かと思われます。 また、ACCESS2000のデータを、ACCESS2010の[ファイル]-[保存して発行]・・・・も行い、拡張子を.accdbにしてみましたが、やはり255文字を超えるインポートができませんでした。 インポート時の[設定]のところのフィールドの情報で、メモ型にしてあるフィールド名が表示されていないのが気になりますが。 文字列の引用符は ” にしています。 ACCESSはデータの25行目までを読み込んでデータ型を自動選択している、という記述もあり、1行目のデータに256以上の文字を入れてインポートもして見ましたが255文字で切られてしまいます。 よろしくお願いいたします。

  • ACCESS2000 固定長テキストのインポート

    ACCESS2000で固定長テキストデータをINPORTしたいのですが、うまくいきません。 テキストインポートウィザードの[設定]で[定義]ボタンを押して、呼び出してきた定義(フィールドの情報)を追加修正したのち、INPORTを行おうとしています。 ところが、追加修正した定義(フィールドの情報)を保存できず、困っています。 いざ[保存]を押すと、ボタンを押した時点で入力した情報がすべてなくなってしまう(入力前の状態に戻ってしまう)のです。 だから、インポート/エクスポート定義を保存したいのですが、保存できない状況に陥っています。 フィールドの数が非常に多いデータのため、途中で保存し再呼び出しという作業がどうしても必要になります。 回避の方法をご存知でしたら教えてください。 例えば、インポート定義そのものを利用しなくても、固定長テキストデータをACCESSへINPORTする方法があれば、それでも結構です。 よろしくお願い致します。 なお、当方はACCESS初心者なので、VBAなど難しいことはできればしたくありません。

  • アクセス2010テキストインポートについて。

    データをテキストインポートする際、テキストインポートウィザードの設定から フィールドごとのデータ型を1つ1つテキスト型に変更して テキストデータを取り込んで対応してます。 このフィールドごとのデータ型をすべて、1度にテキスト型にすることは 可能でしょうか? フィールドが多い時に、作業効率が上がりますのでやり方があれば アドバイス頂ければと思います。 どうぞよろしくお願いいたします。

  • Access VBA CSVファイルのインポート

    お世話になります。 VBAにてCSVファイル(タブ区切り)をインポートするのに、 以下のように記述してますが、エラーとなります。 なお、インポート先のtempテーブルはインポートするCSVファイルの フィールドと同じ並びで予め作成したものです。 DoCmd.TransferText acImportDelim, , "temp", path, True 「実行時エラー2391 貼り付け先のtempテーブルには、'フィールド1_ フィールド2_フィールド3'フィールドがありません。」 このエラーを見る限り、フィールド1~3が一つのフィールドとして 認識されているように見受けられます。 タブ区切りなのか、カンマ区切りなのかを指定するようなパラメタは あるのでしょうか。 なお、当該CSVファイルをウィザードより手動でインポートする分には 問題無くインポート出来ます。 ************** インポートするCSVファイルはユーザーにより見出し(フィールド)の 並びが異なる場合がある為、インポート定義を予め作っておくことが できない状況です。 ご教授の程、宜しくお願い致します。

  • Accessにインポートしようとするとエラーに

    Access2000にcsvファイルをインポートしようとすると、最後の「完了」ボタンクリック時に、下記エラーが表示され、 インポートが行われません。 「フィールド'フィールド名'の開始位置'35642'が有効ではありません。開始位置は32,767以内で指定してください。」 「インポート/エクスポート定義 'ファイル名 インポート定義'を保存するときにエラーが発生しました。」 これは、どこを修正すればいいのでしょうか?

  • Accessインポート定義作成について

    テインポート定義を作成したいのですが、テキストインポートウィザード画面に、インポート定義を作成する際に使用する、設定(詳細?)ボタンが表示されません。 どこの設定を変更すればよいか教えていただけませんか?

  • Access2002 EXCELファイルのインポートの裏技?を教えてください

    度々すみません。 AccessのDBに、新しいテーブルとしてEXCELファイルをインポートしようと思います。 インポートウィザードに従って進んでいくと、最後の「完了」ボタンでエラーになります。 原因を探ってみましたら、「数値型」と判定されているフィールドに文字が混ざっていることが分かりました。 ですので、ウィザードの途中で、フィールドの型を変更しようとしましたが、型を指定する部分はグレーアウトしており、選択できません。 (この場合、長整数となっており、テキストに変更できない) なにか裏技はあるのでしょうか? あるいは私のスキル不足で、実は簡単なことなのでしょうか? ちなみに、ですが、仕方がないのでインポートせず、リンクという形をとったのですが、その場合、文字の入っているフィールドは「#Num!」と表示されています。見た感じ「数値でないよ!」という意味でしょうけれど。。。 どうぞよろしくお願いいたします。

  • アクセスにデータをインポートする時に困っています、

    アクセス2003にデータをインポートするとき、 テキストファイル→エクセル→アクセスで行いたいのですが、 テキストファイルがコンマやタブで区切られていない為、 インポートした時、1つのセルに全ての値が入力されてしまいます。 テキストファイルをタブやコンマ区切りにする以外に、 アクセスにうまく取り込む方法はあるでしょうか。 教えてください!!

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

専門家に質問してみよう