• 締切済み
  • すぐに回答を!

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

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

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.1

レスがつかないようですが。時間が経っているので 解決されたかもしれませんが。 一つは、レジストリを変更してみる。以下にその手順が 書いてあります。 http://support.microsoft.com/kb/968580/ja レジストリをいじくらない、ということであれば、 以下を試してみてください。一応、DAOを使っているので、 コード表のツールから参照設定を選択し、DAOがチェック されているか確認をしておいてください。 ファイルが置いてあるフォルダがAccessのファイルと 同じ場合や、Accessファイルと同じフォルダに ファイルが直接おいてあるならば、下記のように CuurentProject.Path を、そうでないならば フルパスを設定してください。 テーブル名やフォルダ名等は実際に合わせて 変更してください。 Private Sub コマンド0_Click()   Dim db As DAO.Database   Dim rs As DAO.Recordset   Dim i As Long   Dim buf As String   Dim varStr As Variant   Dim strPath As String   strPath = CurrentProject.Path   Set db = CurrentDb   Set rs = db.OpenRecordset("テーブル名", dbOpenDynaset)   'Open "C:\xyz\xAAAA.csv" For Input As #1   Open strPath & "\xyz\AAA.csv" For Input As #1   Do Until EOF(1)     Line Input #1, buf     varStr = Split(buf, ",", , vbTextCompare)     rs.AddNew     For i = 0 To UBound(varStr)       rs(i) = varStr(i)     Next i     rs.Update   Loop   Close #1   rs.Close: Set rs = Nothing   db.Close: Set db = Nothing End Sub

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Access2000 csvファイルのインポート

    Access2000のVBAを使用してcsvファイルを用意されたテーブルにインポートをしたいのですが、 やっかいな条件があります。 ある決められたフォルダに複数のファイルが存在している、そこから全てのCSVファイルを読み込み、3フィールド目(1行目はタイトル行)の値が「"3"」のものだけインポートする。 あるフィールドには、255文字以上のフィールド(改行文字あり)があります。このフィールドはインポートしてもしなくてもよい 今までは、インポート定義を設定してインポートしていたのですが、csvファイルを判別して、インポート前にフィールドの判別をする方法がわかりません。また、255文字以上の対応もうまくいきません。   

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

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

  • Access2007へのデータインポート

    Excel2007で作った、2列だけの40,000行にわたるデータがあります。この1列目には数値が入っていて、複数の行に同じ数値が入っています。2列目は文字列です。 これをAccess2007で作ったデータベースに取り込みたいのです。 データベースにはIDフィールド(固有数値)とメモ型に規定されたフィールドがあり、Excelの1列目の数値がAccessのIDフィールドと一致したら、Excelの2列目の文字列を、メモ型に規定されたAccessのフィールドにインポートする作業を目指しています。 結果的に、メモ型に規定されたAccessのフィールドにはたくさんの文字列が連なるようにしたいのですが、方法がわかりません。 教えていただける方がおられましたらうれしいのですが・・・。どうぞよろしくお願いいたします。

  • AccessでCSVの数値データをインポート

    AccessでTransferTextを用いてCSVファイルのデータをインポートする際、CSVの最初の数行で勝手にデータの型を解釈されてしまい、小数点以下が省略されてしまうようです。毎回CSVファイルに数行付け足してから手動でインポートすればインポート出来るのかもしれませんが、業務量を考えると不可能です。TransferTextで小数を含むダミーのCSVをインポートしてから続けて欲しいデータをインポートして、その後ダミーのデータを削除するという方法も考えたのですが上手くいきませんでした。何か良い方法はございませんでしょうか。

  • CSVデータをアクセスにインポートしてから

    CSVデータをアクセスにインポートしてクエリーを作ります。 例 100021 n1100 01 15桁をテキストでインポートします。 この15桁が一つのフィールドになります。 この下二桁 01 だけを一つのフィールドに抽出する事はできるでしょうか? わかりにくくて申し訳ございません・・・・

  • Access Excelインポート時の制限について

    お世話になります。 Access2010 Win7Pro Excelファイルのデータをインポートし、それをSQLサーバーへ エクスポートするツール(Access)があります。 例えば、Excelに「ID」と「メモ」というフィールドがあり、1500行 あったとします。 また、メモには100文字程度の文字列が入力されています。 それをインポートすると、問題なくメモの100文字はインポートできます。 但し、1000行目のメモに500文字入力されている場合、それを インポートすると255文字に削られてしまいます。 これはインポートするときに、先頭から数行がチェックされて データ型が自動的に決められる為、上記のケースだとテキスト型に なってしまい1000行目のメモは255文字に削られている・・・ ということだと思います(仕様)。 なので、現状はExcelをインポートする前に先頭行のメモを255文字 以上入力した状態でインポートし、SQLサーバーへエクスポート後 テーブルの先頭レコードのメモより不要な文字(追加して入力した分)を 削除しております。 当該ツールを使って、インポート⇒エクスポートするのは日々の作業なので 毎回メモに文字を追加して、あとで削除するというのが手間でなりません。 なにかよい方法はございますでしょうか。

  • AccessでExcelデータをインポート

    お世話になります。  Access2003/2010  Excel2003/2010 10年程前より、Access2003で作成したツール(Excel2003形式のファイルを インポート)を利用しております。 Excelファイルは毎日追加/更新しているのですが、先日、とうとうExcel2003 の行の上限である65,536行を超えてしまいました。 今後はExcel2010形式のファイル(行の上限は1,048,546行)とし、かつ、 2010形式のファイルをインポートできるようツールの修正をしなければならなく なりました。 ツールの修正というよりは、今までAccess2003上で使用していたので、そのまま Access2010上で使用したいだけなので、修正が必要がどうかも分からない 状況です。 そこで2点質問ですが、  1.現状インポートする際は、   DoCmd.TransferSpreadsheet acImport, 8, "temp", strFile, True   としておりますが、「8」の箇所は2010形式のExcelをインポートする場合   どのように修正すればよいでしょうか。   ヘルプを見ても8(Excel2000形式)までの記載しかありません。   とりあえず8のままExce2010形式で、かつ2003の行の上限を超えている   ファイルを(66000行)インポートしてみましたが、行は削れることなく   インポートできました。  2.インポート時の文字数制限について   インポートするExcelファイルの「備考」フィールドは文字数が多いのですが、   Access2003上で使用すると全ての文字列(750文字程度)をインポート   できておりました。   しかしAccess2010上で使用すると、文字列が途中で切れる(255文字)   不具合が発生しました   インポートする際は、あらかじめテーブルを作成しておき、そこに対して   Excelのデータをインポートしております。なお、「備考」のデータ型は   メモ型です。   (255文字で切れることから)恐らくAccessがインポートする時点で「備考は   テキスト型」と判断しているから255で切れてしまうのではないか、で、切れた   文字列をメモ型に入れてるだけのように見受けられるのですが。。   2003から仕様が変わってしまったのでしょうか。   上記のことから、インポートするExcelの先頭行の「備考」に、適当な文字列   (750文字)を入力し、それをインポートすると途切れることなくインポート   できました。   ※Accessがメモ型と認識したから? ※いずれもツールをAccess2010上で使用した状況です。 ご教示の程、宜しくお願い致します。

  • アクセスへのインポートについて

    こんにちは。アクセスへインポートするエクセルファイルが 以下の構造になっており、どうした物か分からず困っており ます。 エクセルの1シート上にA列~IF列まで、行数は1~1200 行まで使用したデータがあります。 各セルに入力されているデータは、全て半角の文字10文字です。 又、不規則にブランクがあります。   A   B C ・・・・IF 1行目 123-456  456-321 213-901 2行目 ブランク ブランク 438-698 3行目 ブランク 361-465 ブランク  ・  ・ 1200行 このデータをアクセスのテーブル、1つのフィールドに 全部インポートするやり方が分からず、途方に暮れて おります。 アクセス、エクセルお詳しい方、何卒宜しくお願い致します。

  • csvファイルのインポート

    Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。

  • アクセス:インポートできないデータ

    色々な型のデータが入ったエクセルデータをアクセスにインポートした時に出るエラーに関してです。 数値と文字列が含まれているためにアクセスのデータ型を”テキスト型”(フィールドサイズ255 書式@)にしております。しかしインポートすると文字列のデータがはじかれます。 アクセス側をテキスト型に設定すればどんなデータが来ても受け入れ可能だと思っていました。 数値、文字列両方のデータがインポートできる設定を教えてください。