データベース内のクエリはいずれも「QueryDefs」コレクションの中の1つです。そのコレクションに対してクエリ名を指定することで、特定のクエリの定義(=「QueryDef」オブジェクト)を参照することができます。
またそのオブジェクトは「SQL」プロパティを持っており、そこにそのクエリのSQL文が格納されています。
よって、そのSQLプロパティの値をさまざまな文字列処理によって加工したり、あるいはまったく別のものに差し替えたりしたあと、同プロパティに書き戻すことで、クエリのSQL文を変更することができます。
プログラム
Sub SampleCode_37()
'クエリのSQL文を変更する
Dim dbs As Database
Dim qdf As QueryDef
Dim strSQL As String
Set dbs = CurrentDb
'クエリの定義を開く
Set qdf = dbs.QueryDefs("qsel従業員マスタ")
'現在のSQL文を取得
strSQL = qdf.SQL
'SQL文を書き換え(フリガナの後ろに郵便番号と住所を追加)
strSQL = Replace(strSQL, ", フリガナ", ", フリガナ, 郵便番号, 住所 ")
'クエリのSQL文を更新
qdf.SQL = strSQL
End Sub
実行例
■実行前

■実行後
|