powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать SELECT SQL в выбранную рабочую область?
13 сообщений из 13, страница 1 из 1
Как сделать SELECT SQL в выбранную рабочую область?
    #34276238
Добрый день,

Собственно сабж. В Visual FoxPro 6 было все в порядке, теперь перешел на VFP9, и на тебе. Мне нужно, что бы выбранный курсор создавался в области 99. Делаю так:

SELECT 99
SELECT "012345678901234567890123456789" AS tmName FROM DOLGI WHERE num = 0 INTO CURSOR GTEMP NOFILTER READWRITE

Перед созданием проверяю текущую область - выдает "99"
После создания выдает "5"

Помогите, кто знает в чем беда, please :((
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34276491
Ffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
USE DBF("ИмяКурсора") IN 99 ALIAS НовоеИмяКурсора AGAIN
Только зачем ?
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34277220
Да, я тоже так думал сделать, да только выходит, что тогда должны быть заняты и 5 и 99 рабочие области. Причем, первичная может создаваться под любым номером, а не только 5. В данном случае мне хватит и такого варианта, но возможно в других случаях мне придется открывать таблицы в исполняемой процедуре и можно случайно перезатереть исходный курсор. В шестерке было все ок, за державу обидно, блин!

Зачем мне это? Конструктивно, на работе, таблицы испокон веков описывались в массиве, и каждой назначался ее номер. Соответственно, под этим номером и задавалась рабочая область. А теперь, когда я перешел на девятку, появился этот гемморой. :((
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34277444
Fffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Морозов Сергей
Вы пользуетесь странными методами работы.
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34277649
Не спорю, я когда пришел на завод, там были проги переписанные с Клиппера на FoxPro 2.6. Пришлось подстраиваться.
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34277743
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпоявился этот

я считаю, что он у Вас, изв. за прямолинейность.

раскройте секрет, а почему 99? а не 131?

ну допустим вообще-то так делается
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
lcTmpAlias = sys( 2015 )
select * from tt into cursor (lcTmpAlias)
lll = doddd(lcTmpAlias)
*******
use in select(lcTmpAlias)
retu 

proc doddd
lpara tcAlias
sele (tcAlias)
* ну уж не знаю

а с классами вообще в проперти ему алиаз
и пусть сам думает где и с чем жить в методах

с КА, вообще по-барабану какой алиаз и как он называться будет,
если затем только не искать его руками в дата сешине,
если уж про поиск ручной заботимся, то и вначало имени метку загоним,
тоже не проблема

я вообще не понимаю тех, кто чего-то ищет по номерам
а если Вы свои 2,3,4 ... немодальных форм откроете,
как Вы определяете кому и какой номер присвоить???
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34277841
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морозов СергейЗачем мне это? Конструктивно, на работе, таблицы испокон веков описывались в массиве, и каждой назначался ее номер. Соответственно, под этим номером и задавалась рабочая область. А теперь, когда я перешел на девятку, появился этот гемморой.
Не пробовали сделать наоборот? После создания курсора записать номер рабочей области в этот массив?

В крайнем случае, можно сделать еще один массив "перекодировщик", который связывает номер, проставленный в "базовом" массиве с реальным номером, в котором открыта таблица или курсор.
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278395
To ВладимирМ:
Это был целый комплекс программ для завода, нужно было переделать на Винду, кое-где подправив, но в целом навести лоск. Так что ничего практически не менял, там где работало.

Но идея хорошая, спасибо.

To alex11100:
Прошу прощения, но что-то я не понял, как этот примерчик помогает мне открыть курсор в заданной области (99 или 131 - неважно, но если задали 99, то курсор должен открываться в 99).
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278428
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Морозов Сергей

я Вам показал как, и объяснил, что
нет необходимости следить за номером области

при нормальном алгоритме без разницы
какой номер
можно и нужно ссылаться по уникальному имени

при правильном алгоритме без разницы в какой области откроется таблица
или курсор, и привязываться к номеру неправильно.
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278439
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я Вас попросил показать
зачем Вам именно 99

Вы в какой-то процедуре ждете именно эту область??

если это так, то оч.просто это переделать
передав дополнительным параметром имя области
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278662
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей МорозовДобрый день,

Собственно сабж. В Visual FoxPro 6 было все в порядке, теперь перешел на VFP9, и на тебе. Мне нужно, что бы выбранный курсор создавался в области 99. Делаю так:

SELECT 99
SELECT "012345678901234567890123456789" AS tmName FROM DOLGI WHERE num = 0 INTO CURSOR GTEMP NOFILTER READWRITE

Перед созданием проверяю текущую область - выдает "99"
После создания выдает "5"

Помогите, кто знает в чем беда, please :((

А где Вы видели в 6-м фоксе READWRITE????
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278723
To alex11100:
Вы конечно правы, и привязываться к рабочей области неразумно. Но такова Селяви, что я пришел уже на готовые программы, и практически все они используют самописную процедуру открытия таблицы, где в параметрах указывается номер таблицы в массиве. (А в массиве на этот номер содержится путь к таблице на жестком диске). По номеру таблицы выбирается и рабочая область для нее. Это уже чревато тем, что открыв, если понадобится таблицу под номером 5, она мне затерет мой рабочий курсор. Проблема усложнена тем, что по коду практические везде переходы идут по номерам, а не по Алиасам.

Насчет 99: Это моя личная мысля :) Временные курсоры начинаю создавать в рабочих областях начиная от 99 и чем дальше - тем ниже. Мне так нравиться, и никакого пересечения с открываемыми таблицами.
...
Рейтинг: 0 / 0
Как сделать SELECT SQL в выбранную рабочую область?
    #34278733
To Valerii:

Я уже на девятке.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать SELECT SQL в выбранную рабочую область?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]