AccessのVBAでSQLのMOD関数を使い余りを取得する|フォーム実行例

MODは除算の余りを返します。

SQL = " SELECT (フィールド名 MOD フィールド名) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (フィールド名 MOD 数値) AS 名前 FROM テーブル名 "
又は、SQL = " SELECT (数値 MOD フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
MODは除算の余りを返します。

例: SQL = " SELECT ( 重量 MOD 30 ) AS 重量余り FROM 仕様 "
仕様テーブルの重量フィールドを30で割った余りを取得します。
取得値は重量余りの名前になります。
フィールド値「100,200,300」の重量で実行した場合、「10,20,0」になります。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「4列縦隊の余り MOD関数」ボタンをクリックすると、人数と人数を4で割った余りを表示します。

■実行画面
剰余数

[アクセス テーブル]
アクセスID   人数
10  500
11  481
13  652
16  503
17  400
18  450
参加人数一覧

[コード]
Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = "人数" & "     " & "余り" & vbCrLf
    SQL = "SELECT 人数,人数 MOD 4 FROM 参加人数"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & "       " & rs(1) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

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

BackHome BackSQL Tips

Copyright(C) FeedSoft