D関数~12個覚書 簡単な操作ならこいつらで!注意点は返り値が一つでレコード順は無視してるところ
サイトが引っ越しました。→https://scombu.com
約1秒後に自動的にリダイレクトします。切り替わらない場合はリンクをクリックしてください。
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
標準偏差関連は割愛させてください。