|
|
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Привет всем! VFP 8.0 Создается база данных: CREATE DATABASE data1 в ней Local View на свободные таблицы с параметром: CREATE SQL VIEW nkl AS select * from table1 where num=?nNum Настраиваю с помощью DBSetProp Создаю еще одну LV: CREATE SQL VIEW nkl2 AS SELECT table2.* From table2 Right join data1!nkl ; on table2.kod=nkl.kod where table2.pol=?nPol Так вот при выполнении последнего Create он просит ввод параметра для LV nkl Вопрос1: как сделать так, чтобы он не просил параметр? После того как я не нашел ответ на 1-й вопрос, я решил выполнить все раздельно Сперва создается база, потом LV nkl, потом nNum=300, потом USE nkl IN 0, потом спустя некоторое время (после различных операций) Create LV nkl2, а вот потом когда я хочу сделать настройки с помощью DBSetProp (DBSetProp(nkl2,"View","SendUpdates",.T.)) у меня вылазит ошибка, что переменная nkl2 не найдена. Вопрос2: где я накосячил? Почему не найдена если все условия вроде бы выполнил (nkl открыта, значит Join должен сработать, а параметр nPol пока не нужен, т.к. я только создаю) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 16:43:04 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
DBSETPROP("nkl","VIEW"...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 16:53:53 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Честно говоря не совсем понял. Если про то, настраивал ли я nkl, то да. Извеняюсь, сегодня пока ответить на вопрос или посмотреть ответы не смогу, потому что уезжаю на объект. Продолжу завтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 16:59:28 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Роман НовичекТак вот при выполнении последнего Create он просит ввод параметра для LV nkl Вопрос1: как сделать так, чтобы он не просил параметр? Правильно просит. Дело в том, что Local View - это не есть таблица. По сути - это запрос. Команда Select-SQL. Т.е. прежде, чем обратиться к результату выполнения этого запроса его собственно надо выполнить. То, что он просит указать параметр на этапе создания - не страшно. Ему собственно нужен не сам параметр, а структура. Можешь в командном окне просто сделать присвоение: nNum = 300 Поскольку переменная, созданная в командном окне имеет область видимости PUBLIC, то эта переменная будет "видна" на этапе проектирования Local View. Роман НовичекПосле того как я не нашел ответ на 1-й вопрос, я решил выполнить все раздельно Сперва создается база, потом LV nkl, потом nNum=300, потом USE nkl IN 0, потом спустя некоторое время (после различных операций) Create LV nkl2, Правильно мыслишь. По другому не получится. Хотя не вижу особого смысла делать Local View динамически. Но это уж тебе виднее... Роман Новичека вот потом когда я хочу сделать настройки с помощью DBSetProp (DBSetProp(nkl2,"View","SendUpdates",.T.)) у меня вылазит ошибка, что переменная nkl2 не найдена. Вопрос2: где я накосячил? Почему не найдена если все условия вроде бы выполнил Ну, так AleksMed тебе намекнул, что имя Local View надо взять в кавычки. DBSetProp("nkl2","View","SendUpdates",.T.) В том синтаксисе, что ты пишешь, FoxPro предполагает, что имя View, для которого надо произвести изменения настройки находится внутри переменной памяти m.nkl2. Пытается найти такую переменную, не находит и сообщает тебе об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 18:46:10 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное. Вот так всегда, из за какой-то мелочи крупные проблемы :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 09:16:16 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Еще один вопросик. Если View находится в установке Buffering=5 и пуста после добавления в нее записей и до TableUpdate можно ли получить из нее данные Select-ом? Просто мне надо выбрать те позиции из таблицы остатков, которые находятся в View, чтобы не тащить всю таблицу. И не хочется делать это после TableUpdate. Если нет, то буду думать другой способ. (хотя я думаю другого, как тощить все позиции из таблицы остатков, способа нет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 10:54:09 |
|
||
|
View при участии другой View
|
|||
|---|---|---|---|
|
#18+
Роман НовичекЕще один вопросик. Если View находится в установке Buffering=5 и пуста после добавления в нее записей и до TableUpdate можно ли получить из нее данные Select-ом? Если версия FoxPro младше 9, то нельзя. Роман НовичекПросто мне надо выбрать те позиции из таблицы остатков, которые находятся в View, чтобы не тащить всю таблицу. Как правило, общее количество записей в Local View относительно невелико. В противном случае просто нет смысла делать такое View. Это значит, что прямое сканирование через SCAN...ENDSCAN не займет много времени. Можно также использовать команду COPY TO или COPY TO ARRAY Эти команды будут копировать в том числе и содержимое буфера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 11:33:01 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33332520&tid=1593239]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
272ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 572ms |

| 0 / 0 |
