По сути, создание динамического SQL, в котором имена COLUMN могут меняться, включает в себя изменение SQL_Model с одним или несколькими ключевыми словами, что приводит к SQL_toExec, который присваивается экземпляру.
The SQL_Model that is easily extensible might be
SQL_Model = 'SELECT * FROM ALL_TRANS WHEREWXYZ'
Then move SQL_toExec = SQL_Model
And thru SQL_toExec = Replace(SQL_toExec, 'WXYZ', ', DEPT_DESC = SalesWXYZ')
to get 'SELECT * FROM ALL_TRANS WHERE, DEPT_DESC = SalesWXYZ'
And thru SQL_toExec = Replace(SQL_toExec, 'WXYZ', ', RPM_CODE IN(''MS-123'',''MS-124'')WXYZ')
to get 'SELECT * FROM ALL_TRANS WHERE, DEPT_DESC = Sales, RPM_CODE IN(''MS-123'',''MS-124'')WXYZ'
The SQL_toExec keeps getting longer, with more columns added
And then two final replaces to clean things up
SQL_toExec = Replace(SQL_toExec, 'WHERE,', 'WHERE ') 'remove the initial comma
SQL_toExec = Replace(SQL_toExec, 'WXYZ', '') ' remove the trailing WXYZ
И выготов к работе.