|
|
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
Мне нужно во вьюшке получить подсуммы, объединяя записи по ключевым полям. Поскольку структура файла такова, что имеется только ключевое поле и куча однотипных полей типа value01, value02 и т.п. Т.к. таких полей много, то облом выписывать сразу для всех: SELECT..... sum(filename.value01), sum(filename.value02) и т.д. Тем более, что всегда требуется только одно из полей. Мне бы хотелось передавать в LV его наименование, как параметр для макроподстановки. Но в качестве параметра удается передавать значения, но не название поля. Обругивается конструкция SUM(?¶meter). Можно ли каким-то образом выкрутиться? Или проблема в синтаксисе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 17:56 |
|
||
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
Искаженьице в формулке пошло... Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 18:01 |
|
||
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
View - это НЕ динамическая конструкция. Это СТАТИЧЕСКАЯ конструкция. Примерно как таблица. Поэтому забудь про всякие "динамические" выкрутасы с макроподстановками в отношении View. Нет. В принципе, можно делать и динамические View. Но! Это требует понимания того, что именно и почему ты делашь и к каким последствиям это приведет. Извини, но пока я не вижу у тебя такого понимания. Речь не идет о знании команд и функций - это как раз можно объяснить. Речь идет о том, ЗАЧЕМ необходимо делать те или иные действия. Т.е. так называемой "идеологии языка программирования". К сожалению, этому практически невозможно научить. Это надо прочувствовать самому. Приходит с опытом. Например, мне на такое осознание идеологии нового языка требуется примерно 1,5...2 года Делай обычные команды Select-SQL. Можно написать достаточно универсальные процедурки, где и подставляй нужные тебе имена полей, передавая их как параметры в эти функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 17:13 |
|
||
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. Не спросил. И файл coom.pjx не перенесся. Где был, там и остался. Проверял через поиск и проводник. Правда, одно и тоже мы понимаем под DESCTOP? Код: plaintext 1. Принципиальных различий не нашел. А как отличить ярлык от самого файла проекта? Прилагаю комбин.иллюстрацию. В первом случае: при Modify COOM.DBC VFP запрашивает путь к DBC Во втором случае путь не запрашивается. Если я пытаюсь Modify Form1, то путь к своим формам VFP помнит. Открывает все сразу. Структурно все расположено так: C:\COOM\COOM.PJX C:\COOM\DATA\COOM.DBC C:\COOM\FORMS\Form1.SCX Либо я опять чего-то не понял, но налицо неравноправие DBC и SCX. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 19:27 |
|
||
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, это сообщение по ошибке сюда попало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 19:30 |
|
||
|
Как передать имя поля в LV?
|
|||
|---|---|---|---|
|
#18+
Hi men dea! 1) Надо бы не ?& а наоборот - &? - иначе прямо при создании представления будет использовано текущее значение макро-выражения и ожидаемого эффекта не получится... 2) В VFP8 такое представление через "прямую" команду CREATE SQL VIEW ... сделать не получится - там слегка порушили процесс синтаксического разбора, и эта версия в принципе не пропускает макро ни в какую часть запроса для LV. Впрочем если в другой версии сделать представление, то в VFP8 оно будет работать как положено. Если другой версии нету, то придётся залезать руками в dbc файл и там править поле Properties - поле бинарное и обращаться с ним нужно бережно - проще всего будет исправить запрос если его общая длинна - т.е. число символов не изменится (т.е. если править мемо-поле в режиме "замены" - не "сдвигая" ничего). 3) В VFP9 всё работает как и должно - но из-за ужесточившегося движка необходимо объявлять ту самую макро-переменную и на этапе создания представления, и на этапе его открытия (даже если открытие происходит в режиме NODATA). 4) Естественно что всё это есть недокументированная особенность работы движка, и никаких гарантий на то что оно будет работать в следующей версии (в т.ч. и в VFP9 SP2) нет и быть не может. В VFP9 SP1 в самой среде всё работает (в рантайме, т.е. в exe я не пробовал). Также мне сомнительно что это будет правильно работать в более сложных случаях... В VFP9 есть уже другие способы динамического конструирования запросов (в частности при посредстве CursorAdapter-ов), и актуальность макро в LV уже не так велика. Также если у тебя LV не редактируемый (а я с трудом могу представить себе как может работать правка в агрегирующем LV) - то нет и смысла большого морочится с макро - пользуйся простым запросом и всё. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2006, 03:31 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33483738&tid=1592610]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 490ms |

| 0 / 0 |
