ACCESSA-VBA | DLookupでテーブルから特定の値を取得する方法
ACCESSのDLookup関数でテーブルから特定の値を取得する方法 1.DLookup関数でテーブルやクエリ内を検索して値を取得する方法 概要 DLookup関数は、ACCESS固有の関数で、テーブルやクエリーからデータを検索して取得する為の関数。 ExcelにもLookup関数があるが、使い方が違うだけで機能自体はほぼ同じで、検索対象から検索文字にヒットした検索結果を取得出来る。 ExcelのLookupと違うところは、検索条件がもう少し細かく指定出来る。 メリット・デメリット メリット SQLを書かなくても簡単にデータが取得できる。 テーブルからだけじゃなく、もう少し条件を絞ったクエリーからもデータが取得できる。 完全一致だけじゃなく、あいまい検索も可能 デメリット DLookupは、ACCESS専用の関数である為、EXCELのVBAでもコードを再利用したい場合は、EXCELのマクロでも利用できるように書き直す必要がある。 使い方 Private Sub btnSearch_Click() Dim CommodityCode As String Dim CommodityName As String CommodityCode = DLookup("[商品コード]", "[商品マスター]", "[商品名] LIKE '*" & txtCommodity.Value & "*'") -1 CommodityName = DLookup("[商品名]", "[商品マスター]", "[商品コード] = '" & CommodityCode & "'") -2 Dim ITM As ListItem Set ITM = lvView.ListItems.Add(, , CommodityCod