AccessのVBAでSQLのMID関数を使い、文字列の途中から指定した文字数分の文字列を返す|フォーム実行例

文字列の途中から指定した文字数分の文字列を返す MID関数

SQL = " SELECT MID(フィールド名,取り出す位置,文字数) FROM テーブル名 "
又は、
SQL = " SELECT MID(フィールド名,取り出す位置,文字数) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

MID(フィールド名,2,4)にした場合、
「年賀はがきにミッキー」の場合、「賀はがき」になります。
MID(フィールド名,3,1)にした場合、
「ブログつながり」の場合、「グ」になります。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「文字列の途中から指定した文字数分の文字列を返す MID関数」ボタンをクリックすると、
ニュースフィールドの3文字目から4文字を取り出し表示します。

■実行画面
・福留「殺人サボテン」に遭遇 3文字目から4文字:「殺人サ
・消費者物価 4か月連続プラス 3文字目から4文字:者物価
・フジ午後7時は週6日クイズに 3文字目から4文字:午後7時
文字関数

[サンプルデータ テーブル]
データID   ニュース
10  福留「殺人サボテン」に遭遇
11  消費者物価 4か月連続プラス
13  フジ午後7時は週6日クイズに
今日のニュースデータ

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    SQL = "SELECT ニュース,MID(ニュース,3,4) FROM サンプルデータ"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & "  3文字目から4文字:" & rs(1) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft