AccessのVBAでSQLのSGN関数を使い符号を取得する|フォーム実行例

SGN(サイン)で、正負か0かを調べることができます。

SQL = " SELECT SGN(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT SGN(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

SGN (サイン)で、正負か0かを調べることができます。

例: SQL = " SELECT SGN(電圧) AS ポート電圧 FROM 制御基板 "
制御基板テーブルの電圧フィールドの正負状態を取得します。
取得値はポート電圧の名前になります。
フィールド値「 0 , -1 , 2 , -3 , 4 」の実行した場合、「 0 , -1 , 1 , -1 , 1 」になります。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「符号を求める SGN関数」ボタンをクリックすると、
元の数値と符号を表す、1か-1を表示します。
正の場合は1が表示されています。
負の場合は-が表示されています。
0の場合は0が表示されています。

■実行画面
アクセスフォーム

[サンプルデータ テーブル]
データID    数値
10   1
11  -2
13  0
16  15
17 -20
18 100
データテーブル

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = "数値" & vbCrLf
    Me!テキスト2 = "符号" & vbCrLf
    SQL = "SELECT 数値,SGN(数値) FROM サンプルデータ"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & vbCrLf
        Me!テキスト2 = Me!テキスト2 & rs(1) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

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

BackHome BackSQL Tips

Copyright(C) FeedSoft