外部データの桁数をそのまま取り込む方法とは?

このQ&Aのポイント
  • 外部データの桁数をそのまま取り込みたいですが、現在は桁数が変わってしまいます。
  • 現在の方法では、スペースが取り除かれてしまいます。
  • VBでの自力取り込み以外に、他の方法はありますか?バージョンによって対応可能かも知りたいです。
回答を見る
  • ベストアンサー

データをそのままの桁数でインポートしたい。

質問する前に、調べたのですが 下記のようなデータを取り込む際に 001,△△1,99999 002,△△2,99999 003,△△3,99999 (△はスペース) 上記のようなスペースを取り込みたいのですが 現在 001,1,99999 002,2,99999 003,3,99999 のようになってしまいます。 調べても対応策が見つからないのですが 外部データ→テキストファイル→外部データを取り込む際に 設定→インポート定義から対応できないでしょうか。 VBで自力で取り込むしかないのでしょうか。 なにか容易に取り込む方法があればいいのですが・・・ またバージョンによって 対応可能等ございますか。 アドバイスお待ちしております。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

今晩は、色々試しましたがようやく 固定長ですね 一つのフィールドとしてインポートすると、テキストとしてそのままコピーできます クエリでレコード内の横の計算出来ますので文字列関数で分解します インポートしたテーブルはフィード1となります。 名称1: Left([フィールド1],3) 名称2: Mid([フィールド1],5,3) 名称3: Mid([フィールド1],9,5)

yairi1106
質問者

お礼

わざわざ検証していただきありがとうございます。参考にさせていただきます。 それと解決したので、ご報告させていただきます。 解決方法1 タブ区切りのデータを、他社のテキストエディタで開き、アクセスの新規テーブルに貼り付ける。 解決方法2 タブ区切りデータをExcel外部データから文字列で取り込み、Excel形式で一旦保存。アクセスから、Excelデータを取り込む。 上記の方法ですと、フィールドが100個あったとしても一気にスペースを維持したまま取り込めました。

その他の回答 (1)

  • watanabe04
  • ベストアンサー率18% (295/1597)
回答No.1

どのような用途をお望みでしょうか? 1.△△1を文字列にして3文字。 △1は2文字として別のものとして扱う。もちろん計算には使わない。 なら""で括って"△△1"とすれば読み込めます。 2.△△1も△1も同じ数字の1として扱う。計算もする。 なら何文字空白があっても同じです。

yairi1106
質問者

お礼

ちなみにすいませんが サンプルは間違えてカンマ区切りにしてますが 実際のデータはタブ区切りです。

yairi1106
質問者

補足

アドバイスありがとうございます。 1.△△1を文字列にして3文字。 △1は2文字として別のものとして扱う。もちろん計算には使わない。 なら""で括って"△△1"とすれば読み込めます。 私の認識が間違ってないのでしたら 上記の方法が希望です。 例えば、フィールド2をデータ型で 文字列の引用符を"(ダブルクォート)で 取り込むという認識でしょうか? それでしたら試したのですが 文字列の手前のスペースが消えてしまいます。 ""で括って"△△1"とすれば読み込めます。とは どのような手順でしょうか。

関連するQ&A

  • テーブルデータのインポートについて

    バージョンはAccess2003です。 テーブルAとテーブルBがあります。 CSVからデータをインポートし、全データがテキスト型で保存されています。 テーブルBには最終的にデータを保存したいフィールドプロパティが定義されています。 VBを使ってテーブルAからテーブルBにインポートしたいと思っています。 テーブルAのデータをテーブルBの定義に合うように加工するにはどうすればいいのでしょうか? アドバイスよろしくお願いします。

  • Access2000 テキストデータのインポート

    質問させていただきます。 テキストデータ(カンマ切り、項目A,項目Bともにテキスト型)をインポートしたのですが、項目Aはたとえば、1または2バイト目がスペースのデータ、スペースなしのデータなど混在しています。テキストデータの通りにインポートしたいのですが、Accessに取り込むとスペースのないデータ(すべて左詰)になってしまいます。 どうすればテキストデータ通りにインポートできるでしょうか?

  • VBでインポート定義の利用 保存場所は何処?

    アクセスで、テキストファイルをインポート定義を利用してVBでインポートしていますが、追加時にインポート定義を開いてから保存して利用しています。定義は何処に保管されているのでしょうか?また、簡単にVBなどでコントロールは出来ないでしょうか?ご存知の方助言お願い致します。

  • Excelで外部データをインポート後、データの更新

    テキストファイルのデータをExcelに取り込み、その後、外部データ(テキストファイル)を更新。 エクセルの外部データツールバーのデータ更新ボタンを押すと 「データの更新を実行すると、クエリを使用して外部データがExcelにインポートされます。このようなクエリは、機密情報にアクセスし、その情報を他のユーザーが利用できるようにしたり、その他の問題を起こす可能性のある操作を実行するようにデザインされている可能性があります。」 とメッセージが出ます。 これはいったいどういう意味でしょうか? クエリってAccessのファイルでもないのになぜですか??

  • ACCESSでの大容量データインポート

    2.6Gもある大きなデータベースをテキストファイルでもらったので、エクセルでは開けないのでACCESSを使おうと思い、ファイル-外部データの取り込み-インポート で取り込もうとしたら、「ファイル<ファイル名>にはデータが含まれていません。」とエラーメッセージが出てしまいます。それで、テキストエディタでこのファイルを先頭の容量の限界まで読める分だけ読み込んでそれをそのまま保存して、同様にACCESSで読み込もうとすると今度は成功します。だけど、これでは元のデータの1%くらいしか読めません。何で、データは確かに存在しているのにこのようなエラーメッセージが出るのでしょうか。どなたかわかる方がいらっしゃったら教えてください。

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

    Excelへのデータのインポートにテキストファイルをインポートする際に、タブ区切り、CSV区切り、Unicode?区切りなどがありますが、区切り文字単位で、データが列に割り当てられるという意味はわかりますが元のファイルがなぜそれぞれの区切りで作成されているのか、意味がわかりません。稚拙な質問でもうしわけありませんが詳細をおしえてください。

  • PSV形式ファイルをAccessにインポートしたい

    いつも楽しく勉強させていただいております。 Access2013を使っています。 やりたいことはこのAccessにPSV形式(","の代わりに"|"で区切られている)のファイルをインポートしたいのですが、うまくいきません。 [外部データ]-[テキストファイル]-[参照]で開くダイアログボックスで拡張子.psvのファイル名を指定すると下記のエラーとなります。 "次の拡張子がないテキストファイルはインポートできません。txt,csv,tab,asc,tmp,htm,html,log" つまり拡張子がいけないようです。 ファイルの拡張子を.csvに変更してインポートするとうまく取り込めるときと"インデックスが有効範囲にありません"のエラーになるときがあります。 うまくいったときにインポートの定義を保存しようとしましたが、できませんでした。 当面の逃げ道としては、"|"を","に変更し、拡張子を.csvにして保存したファイルを取り込んでいます。 それでもいいのですが、何かスマートな解決法はないものでしょうか。

  • データーをインポートがわからない

    thanderbirdメールソフトの件、ウイルス感染してバックアップしたのですが 新規のthandarbirdにファイルを落とし込む方法がわかりません。 何方か詳しい方いらっしゃいますか? 下記がバックアップソフトです。 http://cowscorpion.com/Browser/MozBackup.html このURLでバックアップしたのですが、Thanderbirdにデーターをインポートできません。 下記のファイルで現在保存されています。 Thunderbird 2.0.0.16 (ja) - 2008-09-22.pcv 上記のファイルで保存されています。 操作方法がわかればご指導お願いします。 よろしくお願いいたします。

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

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

  • エクセルのデータをアクセスのテーブルにインポート

    エクセルのデータをアクセスのテーブルにインポートしたくて、 アクセスから外部データのインポートでエクセルを指定してるのですが ************************************************************************ ワークシート インポートウィザード インデックス、主キー、またはリレーションシップで重複する値が生成されてるため、 テーブルを変更できませんでした。 重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 ************************************************************************ になってしまいます。 エクセルの列名を見ても重複していないし(COUNTIF関数で確認しました) アクセス側のウィザードでインデックスはどこのフィールドにもつけてないし、 「主キーを設定しない」もしくは「主キーを自動的に設定する」にしているのに、何をやっても上記のエラーがでます。 ググっても同じようなエラー内容が見つからないのですが、どうしたらいいでしょう? ヴァージョンはエクセルは2007、アクセスは2010です。バージョンの相違が原因でしょうか?

専門家に質問してみよう