powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Несколько вопросов на разные темы.
12 сообщений из 12, страница 1 из 1
Несколько вопросов на разные темы.
    #36076696
Kamely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Помогите пожалуйста советами.
1.На форме имеется таблица, источником данных которой является SQL запрос, формируемый в событии activate.
SELECT DISTINCT designation INTO CURSOR tmp FROM krep_mater INNER JOIN izd_sod ON(izd_sod.id_k_m = krep_mater.id_k_m) AND (krep_mater.type = "Материал") WHERE hakb_izd.id_izd = izd_sod.id_izd
thisform.Pageframe1.Page2.Spez.Page4.Grid1.recordsource = "tmp"
thisform.Pageframe1.Page2.Spez.Page4.Grid1.column1.ControlSource = "designation"

На форме присутствует кнопка Удалить
SELECT id_k_m INTO CURSOR tmp_1 FROM krep_mater inner JOIN tmp ON tmp.designation = krep_mater.designation
STORE id_k_m TO del
SELECT izd_sod
DELETE FROM izd_sod WHERE (id_k_m = del) AND (id_izd = del_1)
* Преопределяем источник данных грида

SELECT DISTINCT designation INTO CURSOR tmp FROM krep_mater LEFT JOIN izd_sod ON(izd_sod.id_k_m = krep_mater.id_k_m) AND (krep_mater.type = "Материал") WHERE hakb_izd.id_izd = izd_sod.id_izd
thisform.Pageframe1.Page2.Spez.Page4.Grid1.recordsource = "tmp"
thisform.Pageframe1.Page2.Spez.Page4.Grid1.column1.ControlSource = "designation"

Вопрос в следующем.
Запись помечается на удаление, но продолжает отображаться в гриде, она исчезает только после перезапуска формы.

2.На форме имеется таблица, источником данных которой является SQL запрос
SELECT hakb_izd.index, izd_sod.quantity INTO CURSOR tmp FROM hakb_izd LEFT JOIN izd_sod ON (izd_sod .id_k_m = krep_mater.id_k_m) AND (izd_sod .id_sb_d = " ") AND (krep_mater.type = "Материал") WHERE hakb_izd.id_izd = izd_sod.id_izd
thisform.Grid2.recordsource = "tmp"

я произвожу модификацию поля quantity, как мне сохранить данное изменение в таблице источнике?

3.На форме имеется грид(источник данных таблица) и раскрывающийся список. Необходимо каждый раз при выборе значения из списка запоминать номер записи, чтобы потом на нее вернуться.
Я делаю следующим образом:
В событии InteractiveChange комбобокса:
SET EXACT ON
lcvalue=ALLTRIM(thisForm.Pageframe1.Page1.Combo2.Value)
orecno=RECNO("hakb_izd")
DO CASE
CASE …

DO FORM sborka
……
Endcase
Может есть более оптимальный вариант.
Проблема в том что иногда происходят невидимые сбои и в переменной orecno храниться совсем другая запись, отличная от текущей и в каждых случаях одна и та же. То есть происходит переход указателя на определенную запись.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36076978
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автористочником данных которой является SQL запрос

в фокспро есть базовый класс курсорадаптер.
вначале читайте поиском в этом форуме,
затем задавайте вопросы если они появятся.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36077343
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа форме имеется таблица, источником данных которой является SQL запрос, формируемый в событии activate
Событие Activate отрабатывает при любой активизации фомы. Вам точно это надо? Может всетаки перенести в Load формы?

авторЗапись помечается на удаление, но продолжает отображаться в гриде, она исчезает только после перезапуска формы.
RTFM по команде SET DELETE ON

авторя произвожу модификацию поля quantity, как мне сохранить данное изменение в таблице источнике?
Вариантов много - представления, курсорадаптеры, прымые вызовы команды SQL UPDATE
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36113863
Kamely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BurnRTFM по команде SET DELETE ON

Burn,а что такое RTFM? я нимогу нигде найти эту команду.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36113875
KamelyBurnRTFM по команде SET DELETE ON

Burn,а что такое RTFM? я нимогу нигде найти эту команду.Это не команда, а аббревиатура Read The F**ing Manual. То бишь отсылка к документации по команде SET DELETE ON
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36113880
Kamely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста с третим вопросом
3.На форме имеется грид(источник данных таблица) и раскрывающийся список. Необходимо каждый раз при выборе значения из списка запоминать номер записи чтобы потом на нее вернуться.Я делаю следующим образом:В событии InteractiveChange комбобокса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SET EXACT ON
lcvalue=ALLTRIM(thisForm.Pageframe1.Page1.Combo2.Value)
orecno=RECNO("hakb_izd")
DO CASE 
CASE …

DO FORM sborka
……
Endcase
|>Может есть более оптимальный вариант.Проблема в том что иногда происходят невидимые сбои и в переменной orecno храниться совсем другая запись отличная от текущей и в каждых случаях одна и та же. То есть происходит переход указателя на определенную запись.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36114256
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kamely,
вот это дизигн :biggrin:
А переменная orecno - она у вас public? Потому что если нет, то ничего удивительного, что с ней "что-то происходит". А поскольку паблики это зло, то выход - создать класс на основе комбобокса и добавить ему свойство "orecno" - тогда уж оно не потеряется.
Кстати, только что подумал, в данном случае можно это значение хранить тупо в свойстве Tag комбобокса.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36114459
Fffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользоваться Recno() для поиска записи можно только при определенных условиях.
Для этого служит индексное поле.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36115142
Kamely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fffffffffff,поле у меня индексировано
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36115148
Kamely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме имеется таблица источником данных которой является SQL запрос формируемый в событии activateSELECT DISTINCT designation INTO CURSOR tmp FROM krep_mater INNER JOIN izd_sod ON(izd_sod.id_k_m = krep_mater.id_k_m) AND (krep_mater.type = "Материал") WHERE hakb_izd.id_izd = izd_sod.id_izdthisform.Pageframe1.Page2.Spez.Page4.Grid1.recordsource = "tmp"thisform.Pageframe1.Page2.Spez.Page4.Grid1.column1.ControlSource = "designation"На форме присутствует кнопка УдалитьSELECT id_k_m INTO CURSOR tmp_1 FROM krep_mater inner JOIN tmp ON tmp.designation = krep_mater.designationSTORE id_k_m TO delSELECT izd_sodDELETE FROM izd_sod WHERE (id_k_m = del) AND (id_izd = del_1)* Преопределяем источник данных гридаSELECT DISTINCT designation INTO CURSOR tmp FROM krep_mater LEFT JOIN izd_sod ON(izd_sod.id_k_m = krep_mater.id_k_m) AND (krep_mater.type = "Материал") WHERE hakb_izd.id_izd = izd_sod.id_izdthisform.Pageframe1.Page2.Spez.Page4.Grid1.recordsource = "tmp"thisform.Pageframe1.Page2.Spez.Page4.Grid1.column1.ControlSource = "designation"Вопрос в следующемЗапись помечается на удаление но продолжает отображаться в гриде она исчезает только после перезапуска формы

Сделала установку set deleted of ничего не поменялось.
Может есть другие варианты?
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36115218
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kamelyполе у меня индексировано
Вот и искать надо по его значению.
...
Рейтинг: 0 / 0
Несколько вопросов на разные темы.
    #36115233
Ffffffffffffffff,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поищи по форуму по фразе Set Deleted
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Несколько вопросов на разные темы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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