• ベストアンサー

シーケンシャルアクセスについて

シーケンシャルアクセスについて教えてください。 テキストファイルの内容が... *************************************************** aaa bbb ccc ddddd eeeee aあ  bbb ccc ddddd eeeee *************************************************** 空白の部分(aとbの間)にはタブが入っています このテキストファイルをアクセス2000において テーブルにインポートする場合 Open...AS #1 'テキストオープン set ... 'データベース・テーブルオープン input #1 rireki Mytable![項目名] = Mid(rireki, 1, 3) 上のような感じでテキストのデータをテーブルに取り込もうとすると 2行目の"aあ"の"あ"が全角なので"aあ"以外の空白も取り込んでしまいます どうすれば全角を半角2桁として取り出すことが出来ますか? 宜しくお願い致します。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 区切りが必ずタブなら、 文字数ではなく区切りごとに取り出す方法はどうでしょうか? これは、Splitという関数で、配列に格納出来ます。 Dim Youso As Variant Youso = Split(rireki, vbTab) これで、2行目なら Youso(0) = aあ Youso(1) = bbb ・・・以下略 と入ります。 また、単純にテキストファイルのデータをテーブルに取り込むだけでしたら、 インポート定義を作成して、ファイルのインポートをするという方法もあります。 DoCmd.TransferText acImportDelim, インポート定義名, テーブル名, テキストファイル名 なおインポート定義の作り方は、実際にメニューの[ファイル]→[外部データの取り込み]→[インポート]でテキストファイルのインポートウィザードを起動させます。 そして、[設定]に入ってそこで定義の詳細設定をして[保存]します。(実際にインポートまでする必要はありません。) この時の保存名を、文字列で上の式の"インポート定義名"に使用します。 ちなみにこの場合はテーブルのレコードセットを開く必要はありません。 では。

その他の回答 (1)

  • yohkah
  • ベストアンサー率53% (46/86)
回答No.1

全角を半角2桁として計算したいのであれば、 Mid(rireki, 1, 3) を MidB(rireki, 1, 3) の関数を使えば良いと思いますが。 一度ヘルプを確認してみて下さい。

関連するQ&A