vba:Recordset:SQLで最大値を取得して、Recordsetから取り出す

  • 多分、カラム名を指定しての方が良い気がする。
    Dim sqlStr As String
    sqlStr = "select max(line_limit) as maxLineLimit from line"
    'Debug.Print sqlStr
    Dim rs As Recordset
    Set rs = dbUtil.ExeSelect(sqlStr)
    
    ' 最大値を取得
'    Dim maxLineLimit As Long: maxLineLimit = rs.Fields("maxLineLimit").Value
    Dim maxLineLimit As Long: maxLineLimit = rs.Fields.item(0)
    
    ' 最大値 <= 閾値は処理終了
    If (maxLineLimit <= line_val) Then

        Dim rc As Integer

        rc = MsgBox("閾値は最大値より小さい値を設定してください。" & vbCrLf & "最大値:" & maxLineLimit, vbOKOnly + vbExclamation)

        If rc = vbOK Then
            Exit Sub
        End If

    End If