powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / List
17 сообщений из 17, страница 1 из 1
List
    #35440408
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В форма существует объект List5 (основой воторой которого является таблица zakaz (в свойствах DE которой определен фильтр ...)) еще существует List1 (таблица Tovar).
Существует кнопка для добавленияч записи из Tovar в zakaz или если запись существует , то поле edi увеличивается на 1.


SELECT zakaz
LOCATE FOR diz=vibor.diz AND zakdiz=vibor.zakdiz AND atov=tovar.atov
IF FOUND( )
replace edi WITH edi+1
else
APPEND BLANK
replace naz WITH tovar.naz
replace cen WITH tovar.cen
replace foto WITH tovar.foto
replace atov WITH tovar.atov
replace zakdiz WITH vibor.zakdiz
replace diz WITH vibor.diz
endif

DODEFAULT()
IF !EMPTY(zakaz.foto)
Thisform.Image2.PictureVal = zakaz.foto
Thisform.Image2.Visible = .T.
ELSE
Thisform.Image2.PictureVal = ""
Thisform.Image2.Visible= .F.
ENDIF

Проблема такова: нужно, чтобы курсор в List5 перемещался на изменяемую (добавленную) запись, а он (курсор) остается без движения во время выполнения изменений в базе.

Как поступить? Подскажите. Заранее спасибо, Роман.
...
Рейтинг: 0 / 0
List
    #35440591
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Курсор был создан до добавления записи. Он не изменяется. Скорее всего, надо пересоздать курсор.
...
Рейтинг: 0 / 0
List
    #35440718
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJКурсор был создан до добавления записи. Он не изменяется. Скорее всего, надо пересоздать курсор.

Как пересоздать?
В принцепе я не создавал курсро, просто добавил таблицу в DE и поставил на нее фильтр, но если Вы насчет, сделать эту процедуру заново, сделал. Даже создал дополнительно грид, чтобы посмотреть ... Но все осталоси по прежнему, указатель остается на текущей записи, а не переходит на добавленную(изменяемую), как мне надо.

Что'ж сделать то?
...
Рейтинг: 0 / 0
List
    #35440719
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJКурсор был создан до добавления записи. Он не изменяется. Скорее всего, надо пересоздать курсор.

Если создать курсор программно и запустить его, подскажите как.
С фильтром diz.vibor==diz.zakaz and zakdiz.vibor==zakdiz.zakaz

Спасибо, с Увыжением , Роман.
...
Рейтинг: 0 / 0
List
    #35440866
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Romario_rus BMJКурсор был создан до добавления записи. Он не изменяется. Скорее всего, надо пересоздать курсор.

Если создать курсор программно и запустить его, подскажите как.
С фильтром diz.vibor==diz.zakaz and zakdiz.vibor==zakdiz.zakaz

Спасибо, с Увыжением , Роман.

Хотя нет, использовать курсор в моей ситуации не целесообразно.

Еще раз, то что я хочу.Нужно, чтобы при изменении или добавлении записи, указатель в List перемещался на нее.
...
Рейтинг: 0 / 0
List
    #35440880
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополнительно , могу сказать, насчет проблемы, то, что если фильтр убираю, все работает как надо, тоесть указатель перепрыгивает на изменяемую запись.

В чем дело ?
...
Рейтинг: 0 / 0
List
    #35440884
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Если уже делает все что нужно, то самый простой (не лучший путь) узнать номер записи LnRec=RECNO() и сделать LOCA FOR recno=LnRec и не забыть обновить форму. Но, должно работать и без этого. При добавлении записи она активизируется автоматом.
...
Рейтинг: 0 / 0
List
    #35440915
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удивляюсь этим приколам. Создал в этойже форме дополнительно к объекту лист объект грид с темже zakaz.naz ресурсом. не трогая указатель на лист , нажимаю свою кнопку в гриде все работает и указатель переходит на изменяемую запись, но если я в лист щелкаю по записи(устанавливается указатель на запись предположим "Автомобиль") далее щнлкаю на свою кнопку указатель в гриде переходит не на изменяемую запись , а на запись которая активна в лист тоесть на "Автомобиль".
Сразу скажу во избежании случайностей лист создал заново.
Понятно, что вэтой ситуации, нужно забыть о Лист , и перейти к работе с гридом, но проблема возникает новая - в моей таблице zakaz существуют записи помимо тех что выводятся еще и отфильтрованные которые не выводятся в связи с этим полоса прокрутки в гриде ведет себя отвратительно, и я с ней ничего сделать не могу(а вот в лист все с этим отлично)


Теперь есть 2 проблемы, уйдя от одной из них я смогу продолжить разработку ...

1)нужно, чтобы курсор в List5 перемещался на изменяемую (добавленную) запись, а он (курсор) остается без движения во время выполнения изменений в базе.
2)при выводе в гриде отфильтрованной таблици засчет множества непоказанных записей полоса прокрутки ведет себя неадыкватно.
...
Рейтинг: 0 / 0
List
    #35440919
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJЕсли уже делает все что нужно, то самый простой (не лучший путь) узнать номер записи LnRec=RECNO() и сделать LOCA FOR recno=LnRec и не забыть обновить форму. Но, должно работать и без этого. При добавлении записи она активизируется автоматом.

BMJ, ты предлагал так ?

SELECT zakaz
LOCATE FOR diz=vibor.diz AND zakdiz=vibor.zakdiz AND atov=tovar.atov
IF FOUND( )
LnRec=RECNO()
replace edi WITH edi+1
else

SELECT zakaz
APPEND BLANK
LnRec=RECNO()
replace naz WITH tovar.naz
replace cen WITH tovar.cen
replace foto WITH tovar.foto
replace atov WITH tovar.atov
replace zakdiz WITH vibor.zakdiz
replace diz WITH vibor.diz
endif

DODEFAULT()
IF !EMPTY(zakaz.foto)
Thisform.Image2.PictureVal = zakaz.foto
Thisform.Image2.Visible = .T.
ELSE
Thisform.Image2.PictureVal = ""
Thisform.Image2.Visible= .F.
ENDIF

LOCA FOR RECNO()=LnRec

thisform.list1.Requery
thisform.grid1.Refresh
Thisform.Refresh()

если да, то могу сказать , что все работает также, как вышеуказанный вариант(наверное стото с List1 , но что?)

хотя может я Тебя не так понял?
...
Рейтинг: 0 / 0
List
    #35441041
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Вроде так. Только где в коде ссылка на List5 с которого начинался вопрос?
И еще,
APPEND BLANK
replace naz WITH tovar.naz
replace cen WITH tovar.cen
replace foto WITH tovar.foto
replace atov WITH tovar.atov
replace zakdiz WITH vibor.zakdiz
replace diz WITH vibor.diz
Можно заменить:
INSERT INTO TABLE zakaz (naz,cen,foto,atov,zakdir,diz);
VALUES (tovar.naz, tovar.cen,tovar.foto,tovar.atov,vibor.zakdiz,vibor.diz)
Покороче будет.
Если правильно понял, то в источник данных грида лучше вставить курсор, предварительно его создав.
SELE from table zakaz WHERE (uslovie) INTO CURSOR namecursor
Тогда запись в курсоре будет одна и никуда не денется от активности.
...
Рейтинг: 0 / 0
List
    #35441065
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJВроде так. Только где в коде ссылка на List5 с которого начинался вопрос?
И еще,
APPEND BLANK
replace naz WITH tovar.naz
replace cen WITH tovar.cen
replace foto WITH tovar.foto
replace atov WITH tovar.atov
replace zakdiz WITH vibor.zakdiz
replace diz WITH vibor.diz
Можно заменить:
INSERT INTO TABLE zakaz (naz,cen,foto,atov,zakdir,diz);
VALUES (tovar.naz, tovar.cen,tovar.foto,tovar.atov,vibor.zakdiz,vibor.diz)
Покороче будет.
Если правильно понял, то в источник данных грида лучше вставить курсор, предварительно его создав.
SELE from table zakaz WHERE (uslovie) INTO CURSOR namecursor
Тогда запись в курсоре будет одна и никуда не денется от активности.

Огромное спасибо за ответ.
Сейчас, мысли в слух: хотел уйти от создания курсора по причине такой- как понимаю данные в курсоре изменить нельзя, тоесть при изменении поля edi , мне прейдеться запускать на выполнение курсор и тут же вопрос - как переместить указатель на эту запись в курсоре...?(это были мои мысли, правильные они или нет пойму со временем)

Сейчас буду разбираться.
О результатах отпишусь.
...
Рейтинг: 0 / 0
List
    #35441068
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJ
Если правильно понял, то в источник данных грида лучше вставить курсор, предварительно его создав.
SELE from table zakaz WHERE (uslovie) INTO CURSOR namecursor
Тогда запись в курсоре будет одна и никуда не денется от активности.

Мне не нужно две таблицы List и Grid (как уже писал, грид создал чтобы посмотреть как поведет себя указатель)
Мне нужна одна таблица, думаю, что лучше List - еслиб небыло заморочки с указателем, яб мозки не ... (за грубость извеняюсь, но как обычно из-за мелочей встаешь на долго) и теперь приходиться искать варианты выхода...
...
Рейтинг: 0 / 0
List
    #35441076
Romario_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJ
SELE from table zakaz WHERE (uslovie) INTO CURSOR namecursor


SELECT from table zakaz WHERE (zakaz.diz=vibor.diz AND zakaz.zakdiz=vibor.zakdiz) INTO CURSOR zakazC

При компиляции выдает ошибку.
...
Рейтинг: 0 / 0
List
    #35441106
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
скобок не надо!
...
Рейтинг: 0 / 0
List
    #35441107
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Курсор можно будет редактировать если вставить в селект READWRITE
...
Рейтинг: 0 / 0
List
    #35441114
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romario_rus BMJ
SELE from table zakaz WHERE (uslovie) INTO CURSOR namecursor


SELECT from table zakaz WHERE (zakaz.diz=vibor.diz AND zakaz.zakdiz=vibor.zakdiz) INTO CURSOR zakazC

При компиляции выдает ошибку.
Естественно выдает. :) Рассказано откуда, по каким условиям и куда нужно выбрать, но совершенно нет указаний ЧТО выбирать? Где список полей сразу после слова Select?
...
Рейтинг: 0 / 0
List
    #35441157
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Прошу пардону с утра сплю.
Правильно поравили: SELE * (или список полей: pole1,pole2) from nametable .........
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / List
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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