Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Как организовать селекты?  [new]
Кузнецов Игорь
Member

Откуда: Иваново
Сообщений: 143
Добрый день всем!
Подскажите пожалуйста как лучше организовать однотипную выборку из некоторого количества однотипных баз. Базы - это независимые dbf файлы помесячных накоплений. Выборку надо сделать из нескольких (пользователь укажет сколько) месяцев, идущих подряд. Их может оказаться как один, так и 10-12. У крайних месяцев (первого и последнего) может потребоваться добавить условия ограничения по полю даты и по полю времени. А может и не потребоваться. Результат надо показать в гриде на форме. Я пока вижу два пути: макроподстановка и цикл с переброской результатов в промежуточную таблицу. Какие решения вы можете мне посоветовать?
14 апр 05, 08:35    [1466770]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать селекты?  [new]
kms_
Member

Откуда: Днестровск
Сообщений: 193
Добрый день, Кузнецов Игорь.

Я в таких случаях программно формирую файл, например zapros.qpr, причем в твоем случае придется использовать цикл при формировании файла, а потом просто гриду, у которого предварительно выставлено свойство RecordSourceType=4 прописываю RecordSource='zapros.qpr' и все!

Делать ты должен приблизительно следующее:

erase zapros.qpx
Set Devi to file zapros.qpr
For mi=1 To .......
     @ PROW+0,00 say 'Select ....................... ;'
     @ PROW+1,00 say '       ....................... ;'
     .....................................................
     .....................................................
     .....................................................
EndFor
@ PROW+1,00 say '         Into cursor MyRezult'
Set devi to Screen
ThisForm.Grid1.RecordSource='zapros.qpr'
В цикле в конце каждого прохода, если это не последний проход, ты должен добавлять в конец строки Union All. Таким образом соединишь разные таблички.
Если надо могу поискать для примера работающий фрагмент кода ...
14 апр 05, 09:25    [1466896]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать селекты?  [new]
kms_
Member

Откуда: Днестровск
Сообщений: 193
Упс, маленькая опечаточка
В коде в первой строчке в цикле вместо @ Prow()+0,00 писать @ Prow()+1,00
14 апр 05, 09:27    [1466904]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать селекты?  [new]
Кузнецов Игорь
Member

Откуда: Иваново
Сообщений: 143
Хорошо, попробую. Вариант вроде подходящий.
14 апр 05, 10:26    [1467101]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить