Уважаемая публика, Вопрос, так сказать в глобальном смысле, актуален.
Все наверное сталкивались с трудоемкой работой по конструированию, написанию и отладке запросов. Каждый эту операцию делает по своему:
- Кто то химичит с конструктором а потом переводит в string SQL вставляет в текст модуля в виде константы.
- Кто то (понимающий основы) собирает в самом модуле но то же из строчных констант.
- Кто то вставляет что то типа:
Type SqlDetail
SqlSelect As String
SqlWhere As String
SqlOrder As String
End Type
…
Fuction ScatterSQL (strSQL as string)
…
Function AssemblSQL(DetSQL As SqlDetail) As String
… |
|
и уже манипулирует с определенными частями запросов.
Вот и я прошел весь этот или похожий на этот путь и что в итоге. При переходе от MDB к ADP пришлось достаточно долго возиться в забытых процедурах и функциях исправляя всякие нестыковки( типа Boolеan и Bit, IIF и т.д.) Ух и повозился же я, это только кажется что все просто тем более есть же конвертор. Когда кто-то говорит “нема проблем” я смеюсь. Или они уже были умные и знали о разностях этих двух структур или читали дельные советы в момент написания MDB, в чем я сильно сомневаюсь. Тяжелый проект запросто не перенести !!!!
Да, я увлекся, перейдем к главному:
Самый большой и самый нескромный вопрос.
Может кто-то из вас уже думал как создать Class TSQL ??? а может это уже реальность? И он еще и FreeWare. Поделитись знаниями , a-aaa ?
Ведь это читается как шедевр:
Set aSQL = New TSQL
aSQL.field.add “FieldUppss”
aSQL.field.add “FieldPupss”
aSQL.from = “TrablеBum”
? aSQL.Select
SELECT FieldUppss, FieldPupss FROM TrablеBum
aSQL.field.remove aSQL.fields(2)
aSQL.order.add aSQL.fields(1), sqlDESC
aSQL.IsOrder=true
? aSQL.Select
SELECT FieldUppss FROM TrablеBum ORDER BY FieldUppss DESC |
|
А еще если ENUM и подсказки выходят чего забивать , переменные нормально объявленны (в их именах смысл понятный всем), совсем кайф.
О внутренностях Class(a) можно и не думать. Все понятно при определении.