朝会発表テーマ

レアなAccessクエリを探しています

1.Accessのクエリは13種類ある

下記図は、Microsoft社が公開している、Accessクエリの種類を示す定数値のリスト。13種類の定数が定義されている。
→実際に手元のAccessで確認できたのは9種類のみ

QueryDef.Type プロパティ (DAO)

定数クエリの種類
dbQActionAction
dbQAppendAppend
dbQCompoundCompound
dbQCrosstabCrosstab
dbQDDLData-definition
dbQDeleteDelete
dbQMakeTableMake-table
dbQProcedureProcedure (ODBCDirect workspaces only)NOTE: ODBCDirect workspaces are not supported in Microsoft Access 2013. Use ADO if you want to access external data sources without using the Microsoft Access database engine.
dbQSelectSelect
dbQSetOperationUnion
dbQSPTBulkUsed with dbQSQLPassThroughto specify a query that doesn’t return records (Microsoft Access workspaces only).
dbQSQLPassThroughPass-through (Microsoft Access workspaces only)
dbQUpdateUpdate
計13種類

Accessアプリで確認できた9種類

定数名Accessアプリ上の表示
dbQSQLPassThrough SQLパススルークエリ
dbQCrosstabクロス集計クエリ
dbQDDLデータ定義クエリ
dbQMakeTableテーブル作成クエリ
dbQSetOperationユニオンクエリ
dbQUpdate更新クエリ
dbQDelete削除クエリ
dbQSelect 選択クエリ
dbQAppend追加クエリ
計13種類

2.残りの4種類について

定数名わかっている情報
dbQProcedure「ODBCDirect」という現在はサポートされていない技術に関連するらしい
Access2000+ADOを使ったシステムが現存すればあるいは・・・?
dbQCompound「compound」=混ぜる、合成する
この定数についてはインターネット情報すら見つからず。
単に複雑なSELECT文を記述しても通常は選択クエリになるだけ。
dbQSPTBulkSQLパススルークエリのレコードを取得しない版という位置づけのよう。
しかし単にUPDATE文に変更するだけではAccessアプリ上のアイコンは変わらない。
dbQActionいわゆる追加・更新・削除・テーブル作成クエリの総称としての「アクションクエリ」とは別?。定数の存在理由が不明。

参考

「QueryDef.Type プロパティ (DAO)」
https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/querydef-type-property-dao
「データ定義クエリを使用してテーブルまたはインデックスを作成または変更する」
https://support.microsoft.com/ja-jp/office/データ定義クエリを使用してテーブルまたはインデックスを作成または変更する-d935e129-229b-48d8-9f2d-1d4ee87f418e
「クエリを実行する」
https://support.microsoft.com/ja-jp/topic/クエリを実行する-eb6f9f79-28de-468f-a464-c6f7a7f09f18


定数表

定数名Accessアプリ上の表示内部値(2進数)
dbQSQLPassThroughSQLパススルークエリ112
0b0111_0000
dbQCrosstabクロス集計クエリ16
0b0001_0000
dbQDDLデータ定義クエリ96
0b0110_0000
dbQMakeTableテーブル作成クエリ80
0b0101_0000
dbQSetOperationユニオンクエリ128
0b1000_0000
dbQUpdate更新クエリ48
0b0011_0000
dbQDelete削除クエリ32
0b0010_0000
dbQSelect選択クエリ0
0b0000_0000
dbQAppend追加クエリ64
0b0100_0000
定数名わかっている情報内部値(2進数)
dbQProcedure「ODBCDirect」という現在はサポートされていない技術に関連するらしい
Access2000+ADOを使ったシステムが現存すればあるいは・・・?
224
0b1110_0000
dbQCompound「compound」=混ぜる、合成する
この定数についてはインターネット情報すら見つからず。
単に複雑なSELECT文を記述しても通常は選択クエリになるだけ。
160
0b1010_0000
dbQSPTBulkSQLパススルークエリのレコードを取得しない版という位置づけのよう。
しかし単にUPDATE文に変更するだけではAccessアプリ上のアイコンは変わらない。
144
0b1001_0000
dbQActionいわゆる追加・更新・削除・テーブル作成クエリの総称としての「アクションクエリ」とは別?。定数の存在理由が不明。240
0b1111_0000

コメント