powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Связь одна таблица подчинена двум
12 сообщений из 12, страница 1 из 1
Связь одна таблица подчинена двум
    #37006220
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня на форме TreeMain(Alias-opierarh) и textbox(Alias-kassacdo) и Grig, необходимо, что бы в последнем отбирались данные в зависимости от того что выбрано в 2-х первых объектах, но при этом в grid мозно было редактировать данные.
Сейчас реализовано через запрос
Select cdo.kod, cdo.kgp, cdo.nbd, cdo.snm, cdo.npoz;
FROM cdo;
WHERE Cdo.kod = ( opierarh.kod);
and cdo.kgp = ( kassacdo.kgp );
ORDER By cdo.nbd;
Into Cursor cdoView

Thisform.Grid1.RecordSource="cdoView"
Thisform.Grid1.ColumnCount = 4
Thisform.Grid1.Column1.ControlSource='cdoView.kod'
Thisform.Grid1.Column2.ControlSource='cdo.npoz'
В DV настроена связь м/д opierarh и cdo. Использую VFP 9.0.
Но в этом случае я не могу в Grid-е редактировать данные.
Есть ли решения данной проблемы?
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006249
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29, решений как минимум 3:
1) оставить в гриде запрос, для редактирования вызывать отдельную форму, после чего запрос перезапросить
2) view вместо запроса с возможностью внесения изменений в базовые таблицы
3) фильтр вместо запроса
Далее по вкусу

Подробности в Хелпе
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006288
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbik,
1-й меня не устраивает
2-й и 3-й можно по подробнее расшифровать.
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006295
Кузьмин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно использовать lookup-поля и свести запрос к 1 таблице
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006307
Кузьмин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29У меня на форме TreeMain(Alias-opierarh) и textbox(Alias-kassacdo) и Grig, необходимо, что бы в последнем отбирались данные в зависимости от того что выбрано в 2-х первых объектах, но при этом в grid мозно было редактировать данные.
Сейчас реализовано через запрос
Select cdo.kod, cdo.kgp, cdo.nbd, cdo.snm, cdo.npoz;
FROM cdo;
WHERE Cdo.kod = ( opierarh.kod);
and cdo.kgp = ( kassacdo.kgp );
ORDER By cdo.nbd;
Into Cursor cdoView

Thisform.Grid1.RecordSource="cdoView"
Thisform.Grid1.ColumnCount = 4
Thisform.Grid1.Column1.ControlSource='cdoView.kod'
Thisform.Grid1.Column2.ControlSource='cdo.npoz'
В DV настроена связь м/д opierarh и cdo. Использую VFP 9.0.
Но в этом случае я не могу в Grid-е редактировать данные.
Есть ли решения данной проблемы?
Это естественно, поскольку результат выборки из нескольких таблиц автоматически стать редактируемым Набором Данных не может.
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006395
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbik3) фильтр вместо запроса

SELECT cdo
SET FILTER TO kgp = kassacdo.kgp

что я не так делаю?
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006487
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29igorbik3) фильтр вместо запроса

SELECT cdo
SET FILTER TO kgp = kassacdo.kgp

теперь сдвинуть маркер
GO BOTT && ИЛИ
GO TOP && и т.п.
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006519
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29igorbik,
1-й меня не устраивает
а я наоборот, только первым и пользуюсь.
Дело в том, что редактировать записи в гриде есть признак дурного тона, все равно нужно делать форму для редактирования.
А потом обнуляем источник грида, делаем тот же запрос и восстанавливаем источник грида. Здесь в форуме это все неоднократно обсуждалось, только поискать надо по ключевому полю "грид" или "grid". Там все показано и рассказано. На форуме фоксклуба ищи статьи Гринчишина и статьи Максимова по этому поводу
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006647
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbikAlexandr29пропущено...

SELECT cdo
SET FILTER TO kgp = kassacdo.kgp

теперь сдвинуть маркер
GO BOTT && ИЛИ
GO TOP && и т.п.
не помогает произошел обрыв связи м/д opierarh и cdo
и если мы хоть 1 раз щелкаем по TreeMain(Alias-opierarh) в Grid все исчезает
а при первом запуске Grid содержит записи отфильтрованные по kassacdo.kgp без учета opierarh.
igorbikа я наоборот, только первым и пользуюсь.

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

Да про связь Одна таблица подчинена другой, я нашел много информации, но по моему вопросу ничего не нашел.
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006777
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29, ну так ты же не фильтр поставил, а попытался поставить связь с другой таблицей нелепым способом. Вот она и порвалась. Ищи примеры постановки фильтров в Хелпе, в этом и других похожих форумах
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37006818
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29У меня на форме TreeMain(Alias-opierarh) и textbox(Alias-kassacdo) и Grig, необходимо, что бы в последнем отбирались данные в зависимости от того что выбрано в 2-х первых объектах, но при этом в grid мозно было редактировать данные.
Сейчас реализовано через запрос
Select cdo.kod, cdo.kgp, cdo.nbd, cdo.snm, cdo.npoz;
FROM cdo;
WHERE Cdo.kod = ( opierarh.kod);
and cdo.kgp = ( kassacdo.kgp );
ORDER By cdo.nbd;
Into Cursor cdoView

Thisform.Grid1.RecordSource="cdoView"
Thisform.Grid1.ColumnCount = 4
Thisform.Grid1.Column1.ControlSource='cdoView.kod'
Thisform.Grid1.Column2.ControlSource='cdo.npoz'
В DV настроена связь м/д opierarh и cdo. Использую VFP 9.0.
Но в этом случае я не могу в Grid-е редактировать данные.
Есть ли решения данной проблемы?

Примерно так:

new1 = opierarh.kod
new2 = kassacdo.kgp

select cdo
set filter to kod = new1 and kgp = new2
go top
thisform.refresh

далее в гриде все будет видно, если его источником записей будет таблица cdo
...
Рейтинг: 0 / 0
Связь одна таблица подчинена двум
    #37007337
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbik
Примерно так:

new1 = opierarh.kod
new2 = kassacdo.kgp

select cdo
set filter to kod = new1 and kgp = new2
go top
thisform.refresh

далее в гриде все будет видно, если его источником записей будет таблица cdo

огромное спасибо, после установки фильтра источник записей в гриде обнулялся
добавил строчку
Thisform.Grid1.RecordSource="cdo"
и все заработало.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Связь одна таблица подчинена двум
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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