powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по Data Environment и таблицам, входящим в неё
25 сообщений из 30, страница 1 из 2
Вопрос по Data Environment и таблицам, входящим в неё
    #33734853
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скажите пожалуйста, почему в DE таблицы не связываються так, как они связаня в Database designer?
В чем различие?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33734905
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему в DE таблицы не связываються так, как они связаня в Database designer?
Потому, что и в Database designer они никак не связаны. То, что ты там видишь - всего лишь информация для построителя Referncial Integrity.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33734961
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, а почему в DE таблицы не связываються по нескольким индексам (одну таблицу могу привязать к главной (любую), остальные уже нет)?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33734983
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тут надо еще внимательно изучить сам процесс связывания тобой этих самых табличек. Подробное описание последовательности действий в студию и, возможно, мы и найдем причину такой необычности поведения.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735195
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как сюда на форум скриншот выложить? так бы было понятнее...
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735564
Фотография DIMM@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про "Связи и отношения между таблицами" можно почитать здесь http://www.foxclub.ru/articles/index.php?id=36
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735758
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо DIMM, почитал.
Не понял след фразу:
"Если Вы работаете с DataEnvironment формы или отчета, то установка связи между таблицами фактически означает команду SET RELATION. А установка значения свойства объекта Relation.OneToMany = .T. фактически означает команду SET SKIP TO. Еще раз напомню, для правильной работы связи просто необходимо установить главный индекс в подчиненной таблице. Т.е. свойство Order соответствующего объекта Cursor. Индекс главной таблицы на работу связи никак не влияет."

Главный - это какой? Primary что-ли?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735784
Фотография DIMM@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Главный индекс - это тот индексный ключ, под управлением которого в данный момент находится таблица. Таблица не может быть отсортирована по нескольким индексным ключам одновременно. Хотя, если одна и та же таблица открыта одновременно в нескольких рабочих областях, то у каждой копии таблицы может быть назначен свой главный индекс." - цитата вот отсюда http://www.foxclub.ru/articles/index.php?id=35 там про индексы все написано)
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735822
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to проходящий:
последовательность такая: обьединяю в DE 2 таблички (Оборуд и оставщ.
В первой есть идентификатор поставщика, он Regular. А в поставщ он Primary.) путем перетаскивания id с оборудов на id поставщ. Все, связь есть.
Значит теперь я на форме могу в Grid объеденить поля с этих таблиц, ведь я сделал тоже самое, что и SET RELATION...
Вот только как мне поля поставщика перетянуть к полям, которые выводятся?
В Grid Builder никак.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735850
Фотография DIMM@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. один DBF файл может иметь любое число индексов, и все они могут быть одновременно открыты. Например USE sklad INDEX tovar, invnomer - откроет два индекса. ОДнако главным управляющим индексом , т.е. таким , в соответствии с которым при необходимости будет перемещаться указатель записи , может быть только один. Им является индексный файл, открытый самым первым в команде (у нас tovar) или назначеный таковым опцией ORDER.
В случае если необходимо сделать главным другой индекс, используется команда SET ORDER TO (см. HELP)
- это вот вырезки из Попова по твоему вопросу.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735870
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю, про главный индекс понял.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735888
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На свой пост
последовательность такая: обьединяю в DE 2 таблички (Оборуд и оставщ.
В первой есть идентификатор поставщика, он Regular. А в поставщ он Primary.) путем перетаскивания id с оборудов на id поставщ. Все, связь есть.
Значит теперь я на форме могу в Grid объеденить поля с этих таблиц, ведь я сделал тоже самое, что и SET RELATION...
Вот только как мне поля поставщика перетянуть к полям, которые выводятся?
В Grid Builder никак.
вроде уже догнал, путем создания LV, содержащего эти 2 таблицы, в грид билдере вывел все нужные поля. Т.е. мои таблицы в DE по ходу вообще не нужны...
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33735911
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Adic...вроде уже догнал, путем создания LV, содержащего эти 2 таблицы, в грид билдере вывел все нужные поля. Т.е. мои таблицы в DE по ходу вообще не нужны...Я бы тоже посоветовал использовать LV вместо таблиц.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33736256
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, где устанавливать значения свойства объекта Relation.OneToMany ?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33736298
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос возник, все по той же теме:
Grid с оборудованием и поставщиками я вывожу, только выводиться немного не то, а вернее выводиться все, что есть в таблице оборудов, а мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме... Может быть нужно как-то использовать id_наименования, только вот как, что-то я не соображу...
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33738417
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все еще жду помощи....
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33738841
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdicПодскажите, где устанавливать значения свойства объекта Relation.OneToMany ?

- Дизайнер формы
- пункт меню DataEnvironment
- правой клавишей мыши один раз щелкнуть по линии, соединяющей два объекта Cursor
- из появившегося меню выбрать пункт Properties
- в появившемся окне Properties найти строку OneToMany

AdicЕще вопрос возник, все по той же теме:
Grid с оборудованием и поставщиками я вывожу, только выводиться немного не то, а вернее выводиться все, что есть в таблице оборудов, а мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме... Может быть нужно как-то использовать id_наименования, только вот как, что-то я не соображу...
Используй 2 разных Grid.

В одном - справочник оборудования
В другом - поставщики

Таблицы должны быть связаны в DataEnviroenment формы. Оборудование - главная, Поставщики - подчиненная.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739075
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир,
не вижу смысла использовать 2 разных Grid, так как у одного оборудования один поставщик. Зачем Грид, в которов одня запись? Разьве так нельзя никак зделать?
В DataEnviroenment формы у меня LV, для каждой из Гридов (наименов, оборудов).
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739083
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а таблицы - так и есть, оборудование - главная, в ней id на поставщика. Таблица поставщик отдельно, связаны по id.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739199
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdicВладимир,
не вижу смысла использовать 2 разных Grid, так как у одного оборудования один поставщик. Зачем Грид, в которов одня запись? Разьве так нельзя никак зделать?
В DataEnviroenment формы у меня LV, для каждой из Гридов (наименов, оборудов).
Так объясни чего надо-то?

Как понимать вот это:

Adic
в DE 2 таблички (Оборуд и оставщ)
...
Grid с оборудованием и поставщиками я вывожу,
...
мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме

В каком Grid? Как указываешь? Что вообще отображено на форме? Что фильтруем-то?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739623
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извиняюсь, что говорю непонятно...
проблема в следующем:
на форме есть 3 объекта Grid. Для каждого из них в DE есть LV.
Первый Грид отображает тип оборудования. Во втором Гриде нужно отобразить наименования оборудования, соответствующее выбранному типу в 1-м грид.
С 3-им грид тоже самое: нужно отобразить характеристики того оборудования, наименование которого мы выберем (во 2-м гриде).
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739752
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку речь идет о параметризированных Local View, то через связи это не решается.

В событии AfterRowColChange() первого и второго Grid делаешь анализ на факт изменения строки (значение свойства Grid.RowColChange). Если произошло изменение строки, то выполняешь перезапрос подчиненных Local View (функция Requery()). В качестве параметра берешь значение текущей записи.
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33739773
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир, поясните пожалуйста глупому, что значит " В качестве параметра берешь значение текущей записи"?

А анализ на факт изменения для первого Грида такой пойдет?
if thisform.Grid1.RowColChange
REQUERY("view_naim_ob")
endif
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33740204
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте!
Свой пред. вопрос решл сл. путем:
в свойстве AfterRowColChange прописал код:
SELECT DISTINCT наименов_оборуд.наименов_оборудования,
наименов_оборуд.общее_количество;
from оборудов.dbf INNER JOIN тип_оборудов.dbf;
ON оборудов.id_типа_оборудования = тип_оборудов.id_типа_оборудования;
INNER JOIN наименов_оборуд.dbf;
ON оборудов.id_наим_оборудования = наименов_оборуд.id_наим_оборуд;
WHERE тип_оборудов.тип_оборудования = this.value;
INTO CURSOR cursoradapter1
this.Parent.Grid2.RecordSource = "cursoradapter1"
this.Parent.Grid2.Refresh()

Теперь при запуске формы Grid2 не показывает вообще ничего, а после того, как в Grid1 сработает AfterRowColChange (по щелчку мыши) появляються данные. Можно ли сделать так, чтоб 2-й Грид сразу после запуска формы показывал данные?
И еще: столбцы во 2-м Гриде, когда показываються данные, смещаються влево так, что ничего не прочитать. Это и есть следствие автоматической перестройки Грида, или как?
...
Рейтинг: 0 / 0
Вопрос по Data Environment и таблицам, входящим в неё
    #33740389
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо форуму на сайте ФоксКлаб, ибо благодаря им я исправил свою последнюю ошибку :)
thisform.Grid2.RecordSource = ""
SELECT DISTINCT наименов_оборуд.наименов_оборудования,
наименов_оборуд.общее_количество;
from оборудов.dbf INNER JOIN тип_оборудов.dbf;
ON оборудов.id_типа_оборудования = тип_оборудов.id_типа_оборудования;
INNER JOIN наименов_оборуд.dbf;
ON оборудов.id_наим_оборудования = наименов_оборуд.id_наим_оборуд;
WHERE тип_оборудов.тип_оборудования = this.value;
INTO CURSOR cursoradapter1
thisform.Grid2.RecordSource = "cursoradapter1"
thisform.Grid2.SetFocus()
Только вот не могу найти ответа на такой вопрос: как видно из кода, приведенном выше, я переключаю Грид по this.value. А это работает только если я щелкаю мышкой на первом столбце (наименов_оборудования), если же я вдруг случайно щелкну на втором столбце - выскакивает ошибка
Operator/operand type mismatch ... Оно то и понятно почему, только вот как это исправить можно, подскажите, знающие люди...
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по Data Environment и таблицам, входящим в неё
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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