Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / И снова курсор / 10 сообщений из 10, страница 1 из 1
16.01.2006, 12:38
    #33484618
Алексb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
Можно ли переименовать курсор?
Например select * ... into cursor tmp1
а теперь переименовать tmp1 в tmp2
проблема в том, что мне нужно создать курсор проверить его содержимое
и если устраивает привязать к гриду, а грид работает с tmp2.
...
Рейтинг: 0 / 0
16.01.2006, 13:26
    #33484833
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
Зделай select * from temp1 into cursor temp2 вот и все. Делов та?
...
Рейтинг: 0 / 0
16.01.2006, 13:55
    #33484950
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
НедоходящийЗделай select * from temp1 into cursor temp2 вот и все. Делов та? Ага и будешь опять весь свой грид настраивать
Я бы сделал так
select * ... into cursor tmp1
Код: plaintext
1.
2.
3.
4.
5.
if used('tmp2')
  zap in TMP2
  append from dbf("tmp1")
else
  use dbf("tmp1") again in  0  alias tmp2
endif
...
Рейтинг: 0 / 0
16.01.2006, 14:43
    #33485132
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
2 piva
Несовсем понял что имееться ввиду опять настраивать.
...
Рейтинг: 0 / 0
16.01.2006, 14:47
    #33485143
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
Недоходящий
проблема лисы, в том, что контролы
живут его так, как они этого хотят
грид еще та песня
(лезет куда его не просят при ините)

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

пива показал как менять наполнение источника без его гроханья
...
Рейтинг: 0 / 0
16.01.2006, 15:14
    #33485267
Maltsev Max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
piva НедоходящийЗделай select * from temp1 into cursor temp2 вот и все. Делов та? Ага и будешь опять весь свой грид настраивать
Я бы сделал так
select * ... into cursor tmp1
Код: plaintext
1.
2.
3.
4.
5.
if used('tmp2')
  zap in TMP2
  append from dbf("tmp1")
else
  use dbf("tmp1") again in  0  alias tmp2
endif

Есть еще вариант:
Код: plaintext
1.
2.
3.
ThisForm.Grid1.RecordSource=""
select * From tmp1 into cursor tmp2
ThisForm.Grid1.RecordSource="tmp2"
...
Рейтинг: 0 / 0
16.01.2006, 16:32
    #33485489
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
Maltsev Max
Код: plaintext
1.
2.
3.
ThisForm.Grid1.RecordSource=""
select * From tmp1 into cursor tmp2
ThisForm.Grid1.RecordSource="tmp2"

Не совсем годится. Если колонки в GRID не соответсвуют порядку колонок в tmp2, то все равно пройтись по ControlSource всех колонок.
С уважением, Алексей.
...
Рейтинг: 0 / 0
16.01.2006, 17:05
    #33485546
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
зачем проходиться. можно в select вместо * прописать название полонок в том порядке в коком надо и все будет соответствовать
...
Рейтинг: 0 / 0
16.01.2006, 18:11
    #33485718
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
АлексbМожно ли переименовать курсор?
Например select * ... into cursor tmp1
а теперь переименовать tmp1 в tmp2
проблема в том, что мне нужно создать курсор проверить его содержимое
и если устраивает привязать к гриду, а грид работает с tmp2.
Если собственно отвечать на заданный вопрос, то для этого достаточно открыть тот же курсор с другим алиасом:

Код: plaintext
1.
2.
3.
select * ... into cursor tmp1
USE (DBF('tmp1')) IN  0  AGAIN ALIAS tmp2
USE IN tmp1

Однако если речь идет о том, чтобы изменить источник данных для Grid, то это не имеет смысла.

Если к моменту выполнения запроса Grid уже создан, то такая операция разрушит структуру Grid. Т.е. "в лучшем случае" пропадут все пользовательские методы и объекты вставленные в Grid на этапе проектирования, а "в худшем" получишь белый прямоугольник вместо Grid.

В общем случае, замена источника данных для Grid выполняется примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
* Сброс источника данных Grid  
  ThisForm.Grid1.RecordSource = ""  
 * Выполнение переоткрытия таблицы, модификация данных, выбор другой таблицы  
  ...  
 * Восстановление источника данных Grid  
  ThisForm.Grid1.RecordSource = "Table"  
  ThisForm.Grid1.Column1.ControlSource = "Table.Field1"  
  ThisForm.Grid1.Column2.ControlSource = "Table.Field2"  
  ThisForm.Grid1.Column3.ControlSource = "Table.Field3"

Имя нового источника данных для Grid может и отличаться от того, что было раньше.
...
Рейтинг: 0 / 0
14.02.2006, 07:53
    #33542424
Алексb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова курсор
Всем большое спасибо!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / И снова курсор / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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