シーケンシャルアクセスについて教えてください。

テキストファイルの内容が...
***************************************************
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桁として取り出すことが出来ますか?
宜しくお願い致します。

A 回答 (2件)

こんにちは。

maruru01です。

区切りが必ずタブなら、
文字数ではなく区切りごとに取り出す方法はどうでしょうか?
これは、Splitという関数で、配列に格納出来ます。

Dim Youso As Variant

Youso = Split(rireki, vbTab)

これで、2行目なら
Youso(0) = aあ
Youso(1) = bbb
・・・以下略
と入ります。

また、単純にテキストファイルのデータをテーブルに取り込むだけでしたら、
インポート定義を作成して、ファイルのインポートをするという方法もあります。

DoCmd.TransferText acImportDelim, インポート定義名, テーブル名, テキストファイル名

なおインポート定義の作り方は、実際にメニューの[ファイル]→[外部データの取り込み]→[インポート]でテキストファイルのインポートウィザードを起動させます。
そして、[設定]に入ってそこで定義の詳細設定をして[保存]します。(実際にインポートまでする必要はありません。)
この時の保存名を、文字列で上の式の"インポート定義名"に使用します。
ちなみにこの場合はテーブルのレコードセットを開く必要はありません。
では。
    • good
    • 0

全角を半角2桁として計算したいのであれば、


Mid(rireki, 1, 3)

MidB(rireki, 1, 3)

の関数を使えば良いと思いますが。
一度ヘルプを確認してみて下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ