AccessのVBAでSQLのSTRING関数を使い先頭文字を指定数だけ並べた文字列を返す|フォーム実行例

先頭文字を指定数だけ並べた文字列を返す関数 STRING関数

例: SQL = " SELECT STRING(回数,文字列) FROM テーブル名 "
例: SQL = " SELECT STRING(回数,文字列) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

文字列の先頭の1文字のみ繰り返した文字列になります。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「先頭文字を指定数だけ並べた文字列を返す関数 STRING関数」ボタンをクリックすると、
指定回数分を繰り返した文字列を返します。

下画面の「5」「<」「あ」は、指定した文字列の先頭です。
SQL = " SELECT STRING(5,'54321') FROM 文字列テーブル"
SQL = " SELECT STRING(10,'<') FROM 文字列テーブル"
SQL = " SELECT STRING(15,'あいうえお') FROM 文字列テーブル"
この場合、FROM以下のテーブルは関係していません。

下画面の「め」は、指定したフィールドの先頭文字です。
SQL = " SELECT STRING(20,テスト文字列) FROM 文字列テーブル"

■実行画面
Stringテストフォーム

[文字列テーブル]
テスト文字列: めんつゆ
文字列テーブル

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    SQL = " SELECT STRING(5,'54321') FROM 文字列テーブル"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Me!テキスト1 = rs(0) & vbCrLf
    Set rs = Nothing

    SQL = " SELECT STRING(10,'<') FROM 文字列テーブル"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Me!テキスト1 = Me!テキスト1 & rs(0) & vbCrLf
    Set rs = Nothing

    SQL = " SELECT STRING(15,'あいうえお') FROM 文字列テーブル"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Me!テキスト1 = Me!テキスト1 & rs(0) & vbCrLf
    Set rs = Nothing

    SQL = " SELECT STRING(20,テスト文字列) FROM 文字列テーブル"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Me!テキスト1 = Me!テキスト1 & rs(0) & vbCrLf
    Set rs = Nothing

End Sub

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

BackHome BackSQL Tips

Copyright(C) FeedSoft