|
|
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
скажите пожалуйста, почему в DE таблицы не связываються так, как они связаня в Database designer? В чем различие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:21 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
почему в DE таблицы не связываються так, как они связаня в Database designer? Потому, что и в Database designer они никак не связаны. То, что ты там видишь - всего лишь информация для построителя Referncial Integrity. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:34 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Ладно, а почему в DE таблицы не связываються по нескольким индексам (одну таблицу могу привязать к главной (любую), остальные уже нет)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:46 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
А тут надо еще внимательно изучить сам процесс связывания тобой этих самых табличек. Подробное описание последовательности действий в студию и, возможно, мы и найдем причину такой необычности поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:52 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
а как сюда на форум скриншот выложить? так бы было понятнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:36 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
про "Связи и отношения между таблицами" можно почитать здесь http://www.foxclub.ru/articles/index.php?id=36 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:53 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Спасибо DIMM, почитал. Не понял след фразу: "Если Вы работаете с DataEnvironment формы или отчета, то установка связи между таблицами фактически означает команду SET RELATION. А установка значения свойства объекта Relation.OneToMany = .T. фактически означает команду SET SKIP TO. Еще раз напомню, для правильной работы связи просто необходимо установить главный индекс в подчиненной таблице. Т.е. свойство Order соответствующего объекта Cursor. Индекс главной таблицы на работу связи никак не влияет." Главный - это какой? Primary что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:34 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
"Главный индекс - это тот индексный ключ, под управлением которого в данный момент находится таблица. Таблица не может быть отсортирована по нескольким индексным ключам одновременно. Хотя, если одна и та же таблица открыта одновременно в нескольких рабочих областях, то у каждой копии таблицы может быть назначен свой главный индекс." - цитата вот отсюда http://www.foxclub.ru/articles/index.php?id=35 там про индексы все написано) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:40 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
to проходящий: последовательность такая: обьединяю в DE 2 таблички (Оборуд и оставщ. В первой есть идентификатор поставщика, он Regular. А в поставщ он Primary.) путем перетаскивания id с оборудов на id поставщ. Все, связь есть. Значит теперь я на форме могу в Grid объеденить поля с этих таблиц, ведь я сделал тоже самое, что и SET RELATION... Вот только как мне поля поставщика перетянуть к полям, которые выводятся? В Grid Builder никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:48 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Т.е. один DBF файл может иметь любое число индексов, и все они могут быть одновременно открыты. Например USE sklad INDEX tovar, invnomer - откроет два индекса. ОДнако главным управляющим индексом , т.е. таким , в соответствии с которым при необходимости будет перемещаться указатель записи , может быть только один. Им является индексный файл, открытый самым первым в команде (у нас tovar) или назначеный таковым опцией ORDER. В случае если необходимо сделать главным другой индекс, используется команда SET ORDER TO (см. HELP) - это вот вырезки из Попова по твоему вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:53 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Благодарю, про главный индекс понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:57 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
На свой пост последовательность такая: обьединяю в DE 2 таблички (Оборуд и оставщ. В первой есть идентификатор поставщика, он Regular. А в поставщ он Primary.) путем перетаскивания id с оборудов на id поставщ. Все, связь есть. Значит теперь я на форме могу в Grid объеденить поля с этих таблиц, ведь я сделал тоже самое, что и SET RELATION... Вот только как мне поля поставщика перетянуть к полям, которые выводятся? В Grid Builder никак. вроде уже догнал, путем создания LV, содержащего эти 2 таблицы, в грид билдере вывел все нужные поля. Т.е. мои таблицы в DE по ходу вообще не нужны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 15:02 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Adic...вроде уже догнал, путем создания LV, содержащего эти 2 таблицы, в грид билдере вывел все нужные поля. Т.е. мои таблицы в DE по ходу вообще не нужны...Я бы тоже посоветовал использовать LV вместо таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 15:07 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Подскажите, где устанавливать значения свойства объекта Relation.OneToMany ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 16:31 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Еще вопрос возник, все по той же теме: Grid с оборудованием и поставщиками я вывожу, только выводиться немного не то, а вернее выводиться все, что есть в таблице оборудов, а мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме... Может быть нужно как-то использовать id_наименования, только вот как, что-то я не соображу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 16:39 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
все еще жду помощи.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 13:18 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
AdicПодскажите, где устанавливать значения свойства объекта Relation.OneToMany ? - Дизайнер формы - пункт меню DataEnvironment - правой клавишей мыши один раз щелкнуть по линии, соединяющей два объекта Cursor - из появившегося меню выбрать пункт Properties - в появившемся окне Properties найти строку OneToMany AdicЕще вопрос возник, все по той же теме: Grid с оборудованием и поставщиками я вывожу, только выводиться немного не то, а вернее выводиться все, что есть в таблице оборудов, а мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме... Может быть нужно как-то использовать id_наименования, только вот как, что-то я не соображу... Используй 2 разных Grid. В одном - справочник оборудования В другом - поставщики Таблицы должны быть связаны в DataEnviroenment формы. Оборудование - главная, Поставщики - подчиненная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 14:41 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Владимир, не вижу смысла использовать 2 разных Grid, так как у одного оборудования один поставщик. Зачем Грид, в которов одня запись? Разьве так нельзя никак зделать? В DataEnviroenment формы у меня LV, для каждой из Гридов (наименов, оборудов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:40 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
а таблицы - так и есть, оборудование - главная, в ней id на поставщика. Таблица поставщик отдельно, связаны по id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:42 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
AdicВладимир, не вижу смысла использовать 2 разных Grid, так как у одного оборудования один поставщик. Зачем Грид, в которов одня запись? Разьве так нельзя никак зделать? В DataEnviroenment формы у меня LV, для каждой из Гридов (наименов, оборудов). Так объясни чего надо-то? Как понимать вот это: Adic в DE 2 таблички (Оборуд и оставщ) ... Grid с оборудованием и поставщиками я вывожу, ... мне нужно чтоб показывалось только то оборудование, наименование которого я указал в Grid, распологающейся на этой же форме В каком Grid? Как указываешь? Что вообще отображено на форме? Что фильтруем-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 16:19 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
извиняюсь, что говорю непонятно... проблема в следующем: на форме есть 3 объекта Grid. Для каждого из них в DE есть LV. Первый Грид отображает тип оборудования. Во втором Гриде нужно отобразить наименования оборудования, соответствующее выбранному типу в 1-м грид. С 3-им грид тоже самое: нужно отобразить характеристики того оборудования, наименование которого мы выберем (во 2-м гриде). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 18:27 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Поскольку речь идет о параметризированных Local View, то через связи это не решается. В событии AfterRowColChange() первого и второго Grid делаешь анализ на факт изменения строки (значение свойства Grid.RowColChange). Если произошло изменение строки, то выполняешь перезапрос подчиненных Local View (функция Requery()). В качестве параметра берешь значение текущей записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 19:35 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Владимир, поясните пожалуйста глупому, что значит " В качестве параметра берешь значение текущей записи"? А анализ на факт изменения для первого Грида такой пойдет? if thisform.Grid1.RowColChange REQUERY("view_naim_ob") endif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 19:49 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Здраствуйте! Свой пред. вопрос решл сл. путем: в свойстве 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-м Гриде, когда показываються данные, смещаються влево так, что ничего не прочитать. Это и есть следствие автоматической перестройки Грида, или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 12:29 |
|
||
|
Вопрос по Data Environment и таблицам, входящим в неё
|
|||
|---|---|---|---|
|
#18+
Спасибо форуму на сайте ФоксКлаб, ибо благодаря им я исправил свою последнюю ошибку :) 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 ... Оно то и понятно почему, только вот как это исправить можно, подскажите, знающие люди... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 16:19 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33739075&tid=1591608]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 466ms |

| 0 / 0 |
