• ベストアンサー

Access2003で複数条件で文字列を変換する

Access2003で、フィールド内の空欄を削除するのと同時に、 フィールドの文字列を全角大文字に変換する方法を教えて下さい。 現在、2回に分けてクエリを実行しております。 まず、「Trim 関数」を使いフィールド欄へ式を入力し空白の削除を 実行してから、次に新たにクエリを作成して「StrConv 関数」を使い 文字列を全角大文字に変換しております。 一度のクエリで「空白削除」と「全角大文字変換」ができる方法を教えてください。 宜しくお願い致します。

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

  • ベストアンサー
回答No.1

関数を入れ子にすればいいでしょう。 更新クエリの「レコードの更新」に、 StrConv(Trim([フィールド名]),4)

HNK1001
質問者

お礼

早々のご回答をありがとうございました。 入れ子にするという方法があるんですね。大変参考になりました。 試してみたところ、バッチリ希望通りのデータを得られました。 また質問等をさせていただくこともあるかと思いますが、宜しくお願い致します。

関連するQ&A

  • Access2000のクエリで全角文字を半角にするには?

    もともとのデータが全角英数字になっているフィールドを半角に変換したいのですが、クエリー実行時に変換できますでしょうか? 文字列関数のASCかな?とも思い、やってみたのですが、うまくいかず、とりあえず元のテーブルのデータを編集を置換でもって半角にしました。 でも、出来ればテーブルのデータは変更したくないので、クエリーでやる方法はありませんでしょうか? あまり専門的なことは分かりません。VBAは使ったことがありませんのでよろしくお願いします。

  • 文字列中の空白削除について

    PHP4で、文字列の前後に空白が場合はtrimを使って削除可能ですが、文字列の中に含まれていたとき、その空白を削除するいい方法はあるでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • VBA(Excel)で文字列内の"~"記号だけ半角変換したくない

    VBA(Excel)で、StrConvを用いて、文字列内に存在する記号を全角→半角に変換して、再び文字列内に格納するようにしています。   strValue = StrConv(strValue, vbNarrow) しかし、"~"も"~"に変換されてしまいます。 "~"は半角変換しないようにしたいのですが、何か良い手法はありますでしょうか? どなたかご教授下さいませ。 よろしくお願い致します。

  • 文字列変換

    他人が作ったExcelデータを修正しなければいけなくなったのですが時間がかかって手間取っています。 する作業は、選択した文字列を ・カタカナは全角 ・ローマ字は半角 ・数字は半角 とすることです。 手作業ですると時間がかかるので、 マクロとかVBAで作業に無駄をなくせればと思いました。 それで調べてみたのですがStrConv関数というのが出てきましたが、 文字種ではしてくれなさそうなのです。 参考になりそうなものはないでしょうか?

  • 文字列の全ての空白を取り除くにはどうしたらよいでしょうか。

    文字列の全ての空白を取り除くにはどうしたらよいでしょうか。 Excel VBAで文字列の前後の空白を取り除くにはTrimを使ってできます。 文字列内にある空白をすべて取り除くにはTrimではできませんでした。 なにか良い方法はないでしょうか。 よろしくお願いします。

  • strConv関数を使わないで半角から全角に変換したい(VB.NET)

    こんにちは。 知っている方いらっしゃいましたら教えてください。 現在、VB.NET 2005を使ってプログラム製造をしていますが、半角の文字列を全角に変換したいです。 でも、strConv関数は使いたくないので、それ以外で変換する方法はありませんか。 よろしくお願いします。

  • 同じフィールドに入っている複数の文字列変換

    ひとつのフィールドに入っている複数の文字列を一度に変換することは可能でしょうか? たとえば 「ABC DEF GH IJK」 という文字列があったとして、その中の ABCをLMN, DEFをOPQなどというようにです。 入っている文字列の長さも順番もいろいろバリエーションがありますが、そのうち変換したいものの種類は決まっています。 このような操作を、一般的な関数の計算式を使って行うことは可能でしょうか?使っているソフトはファイルメーカーです。 よろしくお願いします。

  • Accessで文字列を連結しフィールドを作成するには?

    アクセスのクエリーでテーブルから2つの文字列フィールド引っ張ってきて、その文字列データをくっつけることがやりたいのですが、どのようにやったらよいのでしょうか? ちなみにExcelの場合はCONCATENATE関数で2つのセルを 1つのセルにまとめることが可能です。アクセスで関数を見てみたのですが、そのような関数はありませんでした。 誰かよい方法があれば教えていただけませんか? よろしくお願いします。

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

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

  • access2000 クエリで文字列を数値に変換

    access2000 クエリで文字列を数値に変換 商品の管理DBをaccessで入力し、テーブルをexcelにエクスポートして並び替えやその他の編集をしています。 テーブルに「数量」というフィールドがあり、数字入力が主ですが、商品によっては「無制限」や「-」のように文字列を入力しなければならない為、「数量」は「数値型」ではなく「テキスト型」になっています。 excelへエクスポートした時に、「10」などは数値として認識させ、「無制限」などはそのままの文字列にしたいです。 クエリの式に「Val([数量])」としてみたところ、「10」は数値として変換されましたが、数値ではない文字列は全て「0」になりました。 また、「15,000」は「15」になりました。(カンマが文字列な為) これを 「10」→「10」(数値) 「無制限」→「無制限」(文字列) 「15,000」→「15000」(数値) にするような関数はありませんでしょうか。 excel2007のエラー処理(セルを選択した時に出る「!」で「数値に変換する」)と同じような挙動にしたいです。 宜しくお願いします。

専門家に質問してみよう