質問: テキストファイルをaccessへインポートする自動化の記述方法は? accessの画面より、コマンドボタンをクリックして、外部データベース(mdb)にテキストファイルをインポートするプログラムを作っているのですが、記述方法がわかりません。どなたか回答願います。カレントデータベース(mdb)へテキストファイルをインポートするプログラムは作成したことはあります。
回答: どもども田吾作7です。 解説いたします。。。 "コード ページ" とは、記号 (文字、数字、区切り文字) を文字番号にマップするために、オペレーティング システムが使用する内部テーブルです。 異なるコード ページは、異なる国で使用される文字セットをサポートしています。コード ページは番号で表され、たとえば、コード ページ 932 は日本語の文字セットを表します。また、中国語の文字セットの 1 つは 950 というコード ページで表されます。 "unicode" とは、iso (international standards organization) の文字標準。unicode は 16 ビット (2 バイト) のコード方式を使用して、65,536 文字の領域を確保しています。unicode には、句読点、数学記号、および注釈記号が含まれています。また、将来の拡張用に空き領域も確保されています。 という説明ではわからないですよね? 要は、1バイトはきちんと1バイトに扱おうということです。 例をあげると・・・ lenb("ア") ← 半角 lenb("あ") ← 全角 これはどちらも2を返します。 固定長となると、全角は2バイト、半角は1バイトとして表現されます。 このままでは、半角文字が2バイトとして計算されるために、半角と全角を切り分ける必要があります。 試しに lenb(strconv("ア"),vbfromunicode) ← 半角 lenb(strconv("あ"),vbfromunicode) ← 全角 を行ってください。 半角と全角では、返り値が違うと思います。 半角は1 全角は2 ついでに・・・ lenb(strconv("アあ"),vbfromunicode) ← 半角と全角 返り値は3 これは例えをlen関数でしておりますが、midb,leftb,rightbと言ったような、バイト数による文字列操作には欠かせない処理です。 実際に書いたコードでいうと 1.wkspotstr = strconv(wkstr, vbfromunicode) で変換して 2.wkspotstr = midb(wkspotstr, startposition, spotfldlength) で、変換した文字列をstartpositionバイト目から、長さspotfldlengthバイトの文字列を抜き出してます。 しかし、このままでは1番の処理を行っているために、何が書いてあるのかチンプンカンプンなので、抜き出した文字列を 3.wkspotstr = strconv(wkspotstr, vbunicode) により、私たちのわかる文字コードに戻しています。 ご理解いただけたでしょうか?