• ベストアンサー

アクセスのLENBとエクセルのLENBの違い

アクセスで、定められたバイト数以上の文字を削除したいです。 エクセルでのLENBの考えで、やりたいのですが、それがアクセスでは、うまく認識しません。 例えば、 1234567:エクセルでは、10(半角4と全角3×2)          :アクセスでは、14(全てが2バイトにみなされる) アクセスで、全角半角を区別して、桁数を表示させる関数がありましたら教えてください。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

Accessが2000以降ならUNICODEの対応の為です。 下記サポートをお読みください。 http://support.microsoft.com/kb/404928/ja

d-loop
質問者

お礼

ありがとうございます(*^_^*) 熟読してみます。

d-loop
質問者

補足

読んでみたのですが、これの "ABC あいう"部分を、 [商品テーブル]の (商品名)にする場合の、構文の記載の仕方がわかれば、教えてください。 お手数おかけします^_^; Dim s as String ' ANSI 形式へ変換します。 s=StrConv("ABC あいう", vbFromUnicode) ' ' ここで、 ' ANSI 文字列に対してのバイト単位の操作をおこないます。 ' ただし、一般の文字単位の操作はできません。 ' ' Unicode 形式へ戻します。 s=StrConv(s, vbUnicode)

関連するQ&A

  • ACCESS2000の文字数制限について

    ACCESS2000のテーブルで文字数制限をすると、全角でも半角でも 1文字と数えられてしまい、困っています。 全角は2文字、半角は1文字として数えたいのです。 モジュールを使い、LENB()、LEFTB()関数を使っても、上記と同様の現象で 解決しません。よい方法はありますでしょうか?

  • Excelで22バイトの文字を数えたい

    Excel2002です。 VBAでセルの文字列を取得する時に全角制御文字(2バイト)を含めて22バイトの制限を考慮したいのですがその方法がわかりません。 全角文字だけなら10文字、  半角文字だけなら22文字の取得ができます。 その後の作業の都合上、22バイトを基準に条件判断したいのですが現在はその方法がわからないためLEN()で10を上限としています。LENB()でも同じ結果(文字数が返される)になります。 対象のセルには全角文字/半角文字が混在しており、全角-半角-全角-半角のような混在であれば制御文字を2回考慮する必要があります。 最悪その文字が全角か半角かの区別がつけば対応できると思います。 よい方法をご教授いただきたくお願いいたします。

  • LENB 関数

    関数LENBを使用して、作成している条件が、 今まで全角20文字以内であれば、チェック項目○、20文字以上又は、 半角英数が入れば、チェック項目×になるよう関数作ってました。 → =IF(LEN($C$5)*2=LENB($C$5),IF(AND(LENB(C5)>=2,LENB(C5)<=40),"○","×"),"×") 今回 条件を変えたいんです。 全角でも半角英数がはいっても、40バイトであれば、チェック項目○、40バイト超過すれば チェック項目×にするには、 どうしたらいいですか? 教えていただける方、ご指導お願いします。。

  • バイト数

    こんにちわ。 VB6でのすごく初歩的な質問なんですが、テキストボックスの中の文字のバイト数をLenB関数で取得して表示させようとしたのですが、半角も全角も1文字2バイトとでてしまいますがなぜでしょうか? お暇なときで結構ですのでどなたか回答をおねがいします。

  • 半角の文字数を知るには・・・

    文字数は、length関数を使えばいいのかと思っていたのですが、どうも、半角と全角では認識が違うようなんです、どう区別して文字を数えたらいいのでしょうか・・・ 半角の文字数をしるにはどうしたらいいでしょうか? Perl初心者なので、出来るだけわかりやすく教えて頂きたいです。お願いします。

    • ベストアンサー
    • Perl
  • Accessの文字数を調べたい

    住所項目で半角と全角の混ざった状態になっており、半角1文字は1として全角は1文字は2として合計文字数を算出したいのですが、良い方法を教え下さい。 例 ○○県☐☐市1-2-3 Len  11 LenB 22 求めたい値は、全角6文字×2 + 半角5文字×1 = 17

  • エクセルの半角、全角

    エクセルで、半角文字、全角文字が混在するセルを関数等で全て全角にする(半角文字を全角文字に)方法はあるでしょうか?また、文字が1バイト文字か2バイト文字かを簡単に見分ける方法はありますか?

  • 【Access97】指定した桁数で区切りたい

    txtファイルをAccessへインポートした後、項目毎に区切るためにMid関数を使用していますが、全角文字を2桁として認識してくれず区切り位置がおかしくなってしまいます。 同様の作業をExcelでやっても同じでした(添付画像参照、データは一部項目のみ抜粋)。 項目数=30個、桁数=一行につき255桁(固定)、1つのtxtファイル内のデータ行=200行以上、そのtxtファイル数が数十個あるので毎回Excelの『区切り位置指定ウィザード』を使用するのも大変です。 何とかAccessの更新クエリーで作業したいのですが、指定した位置で区切る方法、もしくは全角文字を2桁として認識させる方法はありませんか?

  • ACCESS97 : レコードが長いファイルのインポートについて

    ACCESS97で、文字列を文字数ではなくバイト数で扱うことは可能でしょうか。 1レコードが20,000ByteあるテキストファイルをACCESS97のテーブルに インポートしようとしています。 インポート先のテーブルのフィールドをすべて「メモ型」にしたのですが、 インポート定義を利用してインポートを行おうとすると、 「レコードが大きすぎます。」というエラーが発生します。 そこで、プログラムでファイルを1レコードずつ読み込みながらテーブルに インサートしていく方法を取ろうかと思います。 テキストファイルは半角と全角が混在しているのですが、困ったことに 全角のデータが入るべきところに半角が混ざっている可能性があります。 たとえば、全角10文字入るべき場所に半角の空白が20文字入っていると いうような状態です。 この状態で StrConv関数でUnicodeに変換してからMidB$関数で文字を抜き 出すと、フィールドがずれてきます。 1文字目から10文字分、ではなく1Byte目から10Byte、などというように文 字列を扱うことができれば、全角と半角がどのような位置で混在していても 関係なくプログラム上で扱うことができると思うのですが,方法がわかりません。 また、これ以外で長いレコードのファイルをインポートできる方法があれば 教えていただきたいと思います。 長くなってしまいましたが、ご回答をいただけますようよろしくお願いいたします。

  • EXCELについて

    EXCELについて お世話になります。 EXCELでセルの文字数が任意の数以上になるとセルの色を変えるような条件書式を作りたいのですが、よくわかりません。 文字は半角、全角含みますので、単純に文字数ではなく、半角換算か全角換算かで統一したいです。 以上、宜しくお願い致します。

専門家に質問してみよう