饂飩コーディング

iOSアプリやら、Unityやら、Cocos2dやらごにょごにょ書いております

D関数~12個覚書 簡単な操作ならこいつらで!注意点は返り値が一つでレコード順は無視してるところ

サイトが引っ越しました。→https://scombu.com

約1秒後に自動的にリダイレクトします。切り替わらない場合はリンクをクリックしてください。

f:id:appdeappuappu:20201122102858p:plain

D関数は集計したり検索したりする12個のApplication Object Methodがあります。
あぷりけーしょんめそっど?まぁ、Access自体に包括されている便利なものでしょうかね?
ご存じの方ご教授いただけると幸いです。

Dlookup テーブルの値を取得
Davg 平均
Dcount レコード数
Dfirst 最初の値
Dlast 最後の値
Dmax 最大値
Dmin 最小値
Dsum 合計
DstDev 合計
DStDevp 標準偏差
Dvar 標準偏差
Dvarp 分散


記述方法は全部同じで
D~関数(式、定義域、条件)

カウント

Private Sub cmdDCount_Click()
    Dim count As Long
    count = DCount("商品番号", "商品マスター", "カテゴリ='器具'")
    Me.txtDcount = count
End Sub

商品マスターのカテゴリー="器具"の商品番号カラムのレコード数をカウントする
注意点は条件の文字列はシングルコーテーションで囲むってとこかな。


検索

Private Sub cmdDLookup_Click()
    Dim itemName As String
    itemName = DLookup("商品名", "商品マスター", "カテゴリ='ペン' AND 単価 > 90")
    Me.txtDcount = itemName
End Sub

商品マスターのカテゴリー="ペン"かつ単価>90の商品名を検索してかえしてくれますが、
注意点1 ペンという文字列の条件はシングルコーテーションで囲むこと
注意点2 返り値が一つなので商品マスターには二つ条件に合うレコードがあるが
     ボールペンと万年筆どちらが表示されるかは担保されていない。
     まぁ、基本後から追加されたレコードが表示されるんだけど、DBMSそれぞれの
     仕様によって生のレコード登録アドレスって色々違うからここはなーんの保証もないよ!
     って思っててよさそう。アドレス空いた部分に差し込んできたりするからね。


平均

Private Sub cmdavg_Click()
    Dim avg As Long
    avg = DAvg("単価", "商品マスター", "カテゴリ='その他'")
    Me.txtDcount = avg
End Sub

最初のレコード

Private Sub cmdFirst_Click()
    Dim itemName As String
    itemName = DFirst("商品名", "商品マスター", "カテゴリ='器具'")
    Me.txtDcount = itemName
End Sub


最後のレコード

Private Sub cmdLast_Click()
    Dim itemName As String
    itemName = DLast("商品名", "商品マスター", "カテゴリ='ペン'")
    Me.txtDcount = itemName
End Sub


最大値

Private Sub cmdMax_Click()
    Dim itemMax As Long
    itemMax = DMax("個数", "商品マスター", "カテゴリ='紙類'")
    Me.txtDcount = itemMax
End Sub


最小値

Private Sub cmdMin_Click()
    Dim itemMin As Long
    itemMin = DMin("個数", "商品マスター", "カテゴリ='紙類'")
    Me.txtDcount = itemMin
End Sub

合計

Private Sub cmdSum_Click()
    Dim itemSum As Long
    itemSum = DSum("個数", "商品マスター", "カテゴリ='紙類'")
    Me.txtDcount = itemSum
End Sub


標準偏差関連は割愛させてください。