文字列関数とその使い方
Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

文字列関数を使って、さまざまな方法でテキストを操作する式を Access で作成できます。 たとえば、フォームのシリアル番号の一部のみを表示したい場合があります。 また、姓と名などの複数の文字列を結合 (連結) しなければならない場合があります。 まだ式について詳しくない場合は、「式を作成する」を参照してください。

Access の一般的な文字列演算子と、それを実行するための関数の一部を、以下に示します。

目的

使用する関数

結果

文字列の先頭から文字を返す

Left 関数

=Left([SerialNumber],2)

[SerialNumber] が “CD234” の場合、結果は “CD” です。

文字列の終わりから文字を返す

Right 関数

=Right([SerialNumber],3)

[SerialNumber] が “CD234” の場合、結果は “234” です。

文字列内の文字の位置を調べる

InStr 関数

=InStr(1,[FirstName],"i")

[FirstName] が “Colin” の場合、結果は 4 です。

文字列の真ん中から文字を返す

Mid 関数

=Mid([SerialNumber],2,2)

[SerialNumber] が “CD234” の場合、結果は “D2” です。

文字列から先頭または末尾のスペースを削除する

LTrim、RTrim、Trim 関数

=Trim([FirstName])

[FirstName] が “ Colin ” の場合、結果は “Colin” です。

2 つの文字列を結合する

プラス記号 (+) 演算子*

=[FirstName] + [LastName]

[FirstName] が “Colin”、[LastName] が Wilcox の場合、結果は “ColinWilcox” です。

間にスペースを入れて 2 つの文字列を結合する

プラス記号 (+) 演算子*

=[FirstName] + “ “ + [LastName]

[FirstName] が“Colin”、[LastName] が Wilcox の場合、結果は “Colin Wilcox” です。

文字列の大文字と小文字を変える

UCase 関数 または LCase 関数

=UCase([FirstName])

[FirstName] が “Colin” の場合、結果は “COLIN” です。

文字列の長さを調べる

Len 関数

=Len([FirstName])

[FirstName] が “Colin” の場合、結果は 5 です。

* 関数ではなく、演算子です。 ただし、この方法が最も簡単に文字列を結合することができます。 デスクトップ データベースでは、アンパサンド演算子 (&) を使って結合することもできます。

Access には、さらに多くのテキスト関連関数があります。 詳細については、式ビルダーを開き、関数リストを参照することをお勧めします。 式ビルダーは、式を構築するほぼすべての場所で使用できます。通常は、次のような小さな [ビルド ] ボタンがあります: ボタンの画像

式ビルダーを実際に使うには、フォームまたはビューの [コントロール ソース] プロパティで開きましょう。 使っているのがデスクトップ データベースか Access Web アプリかに応じて、以下のいずれかのプロシージャを使います。

デスクトップ データベースに式ビルダーを表示する

  1. デスクトップ データベース (.accdb) を開きます。

  2. ナビゲーション ウィンドウがまだ開いていない場合は、F11 キーを押して開きます。

  3. 既にフォームがある場合は、ナビゲーション ウィンドウで右クリックして [レイアウト ビュー] をクリックします。 操作するフォームがない場合は、[作成]、[フォーム] の順にクリックします。

  4. フォームのテキスト ボックスを右クリックし、[プロパティ] をクリックします。

  5. プロパティ シートで、[すべての > 管理ソース] をクリックし、[コントロール ソース] プロパティ ボックスの右側にある [ビルド] ボタン ボタンの画像 をクリックします。 プロパティ シートの [作成] ボタン。

  6. [式の要素] で、[関数] ノードを展開し、[組み込み関数] をクリックします。

  7. [式のカテゴリ] で、[文字列] をクリックします。

  8. [式の値] で、関数をクリックして、式ビルダーの下の簡単な説明を読みます。

    注:  コンテキストによって使える関数は違います。各コンテキストで機能する関数に応じて、一覧が自動的にフィルターされます。

TEXT 関数を結合して柔軟性を高める

一部の文字列関数には数値引数が含まれ、場合によっては、関数を呼び出すたびに計算が必要です。 たとえば、LEFT 関数は、=Left(SerialNumber, 2) のように文字列と数値を取ります。 常に左の 2 文字が必要であるとわかっている場合は便利ですが、必要な文字数がアイテムによって変わる場合はどうなるでしょうか。 文字数を単に "ハード コーディング" する代わりに、文字数を計算する別の関数を入力することができます。

以下は、文字列にハイフンが含まれるシリアル番号の例です。 ただし、ハイフンの位置は異なります。

シリアル番号

3928-29993

23-9923

333-53234

3399940-444

ハイフンの左に数字を表示したい場合、ハイフンの位置を確認するために毎回計算を行う必要があります。 以下の選択肢もあります。

=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)

Left 関数の 2 番目の引数として数値を入力する代わりに、シリアル番号のハイフンの位置を返す InStr 関数を接続しました。 この値から 1 を引くと、Left 関数が返す正しい文字数が得られます。 一見複雑に見えますが、少し慣れれば、複数の式を結合して目的の結果が得られるようになります。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。