Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi: таблица с возможностью выбора условий 
V
    Опции темы
Solominka
Дата 11.4.2011, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



И так, пояснения по программе.
Мне в конечном итоге нужно следующее.
Есть таблица 1 с входными данными, несколько полей которой должны содержать списки выбора (хотела сделать лукап-полями). Каждый из списков берёт значения из своей таблицы.
В конечном итоге, все эти данные из Таблицы1 нужны для расчётов по формулам. Т.е. есть какая-то величина, которая рассчитывается в зависимости от тех или иных условий. Формул - 10 штук.
Затем рассчитанные результаты заносятся в Таблицу2 - итоговую, из которой есть возможность импорта в MS Excel.

Объясняю я конечно не очень, но хочется верить, что понятно...
PM MAIL   Вверх
superVad
Дата 12.4.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Что мне подумалось - может ты не на то ID настраивала лукап?
Т.е. у тебя в главной таблице есть ID самой записи и ID для каждого поля данных на которые будут настроены лукапы.
Т.е. в главной таблице у тебя хранятся только ID записей из лукапов.
PM MAIL   Вверх
cat512
Дата 12.4.2011, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Цитата(superVad @ 12.4.2011,  19:55)
Что мне подумалось - может ты не на то ID настраивала лукап?
Т.е. у тебя в главной таблице есть ID самой записи и ID для каждого поля данных на которые будут настроены лукапы.
Т.е. в главной таблице у тебя хранятся только ID записей из лукапов.

Именно так это и было. Если посмотришь её первый исходник, то увидишь, что значение для лукапа, определяет первичный ключ главной таблицы, что есть не правильно. Потому как подмножество значений id лукапа, должно быть подмножеством id второй(подчинённой таблицы). Что бы было правильно, надо ввести дополнительное поле(внешний ключ), значениями которого будут значения id из множества id подчинённой таблицы, и сослаться на это поле, свойством KeyField лукапового поля.
Это всё элементарно показано в борландовской дэмке CtrlGrid, на которую я ссылался для изучения
PM MAIL   Вверх
superVad
Дата 12.4.2011, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



cat512, на самом деле можно даже демки не смотреть - надо просто понимать, что есть лукап и как он работает.  smile 
PM MAIL   Вверх
cat512
Дата 12.4.2011, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Цитата(superVad @ 12.4.2011,  20:34)
cat512, на самом деле можно даже демки не смотреть - надо просто понимать, что есть лукап и как он работает.  smile

Ну дэмки необязательно смотреть тебе, потому как знаешь мат. часть, а начинающему, очень даже полезно! smile 
PM MAIL   Вверх
Solominka
Дата 12.4.2011, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Цитата

Что мне подумалось - может ты не на то ID настраивала лукап?


Может и не на то... Так насколько я понимаю, таблицы связываются по ключевым полям, не так ли?

Вы не могли бы объяснить более понятно на примере.

Вот мой пример.
Есть таблица 1.
В ней поля:
ID - ключевое
Pole1 - Обычное
Pole2 - для лукапа

Есть таблица2.
В ней поля:
ID_p - ключевое 
Poles - обычное, его содержимое отображается в Pole2 

И как я уже ранее писала, настраиваю лукап следующим образом:

1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> ID
4) LookupKeyFields -> Id_p
5) lookuoResultField -> Poles

Подскажите, что же я делаю не так? И что мне сделать, чтобы оно нормально работало?
PM MAIL   Вверх
cat512
Дата 12.4.2011, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Поля 3 и 4 должны иметь значения одного множества. Вернее так, значения поля 3 должно быть подмножеством значений поля 4 Поскольку поле Id_p - это первичный ключ подчинённой таблицы, а ID в этом случае должен быть внешним ключом  Знаешь что такое первичный ключ и внешний ключ? Если не знаешь почитай, это основополагающие понятия БД
Значения внешнего ключа, всегда является подмножеством значений первичного, на который он ссылается. Но в твоей организации ключей, поле ID, также является первичным ключом первой таблицы. При этом возникает противоречие: либо ID не сможет идентифицировать записи главной таблицы, при условии Nгл. > Nподч. (N - количество записей), либо подмножество значений поля ID не будет включаться(принадлежать) в множество занчений Id_p.

Правильно будет так
0)Добавляем новое поле FID типа интегер
1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> FID
4) LookupKeyFields -> Id_p
5) lookuoResultField -> Poles

Это сообщение отредактировал(а) cat512 - 12.4.2011, 22:28
PM MAIL   Вверх
superVad
Дата 12.4.2011, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Pole2 должно содержать значение ID_p а не Poles - грубо говоря. (Все как написал cat512)

Хотя если принципиально надо хранить в Pole2 значения из Poles, то можно попробовать так:

1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> Pole2
4) LookupKeyFields -> Poles
5) lookuoResultField -> Poles

Т.е. вообще отказаться от ID_p, но я не уверен, надо проверять.
ПС проверил - работает.  smile
Но это все так для проекта на коленке для личного пользования. Иначе надо ID и внешние ключи.

Это сообщение отредактировал(а) superVad - 12.4.2011, 23:12
PM MAIL   Вверх
cat512
Дата 12.4.2011, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Согласен superVad, можно вместо FID использовать Pole2 (незаметил из-за этих непонятных названий).
Мне кажется, что если отказаться от Id_p, механизм lookup-а работать не будет, хотя не уверен. 
Теперь к решению:
По сути её задачка сводится к схеме звезда, с внешними ключами, или Pivot-у(плоской табличке)
с внешними ключами и Lookup-ами

Добавлено @ 23:28
superVad, а ты заполнял поле Poles второй таблички одинаковыми значениями в одном столбце?
Просто интересно сможет в таком случае Lookup выбрать значение

Это сообщение отредактировал(а) cat512 - 12.4.2011, 23:31
PM MAIL   Вверх
Solominka
Дата 13.4.2011, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Цитата

1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> Pole2
4) LookupKeyFields -> Poles
5) lookuoResultField -> Poles


У меня так работает =_=
Оно вообще не терпит одинаковых полей, увы...

Цитата

Правильно будет так
0)Добавляем новое поле FID типа интегер
1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> FID
4) LookupKeyFields -> Id_p
5) lookuoResultField -> Poles


А это что меняет? Просто полуается ещё одно, которое так же находится в прямой зависимости и теперь при выборе лукапа ID_p отображается в FID =_=  Создание этого фиктивного поля конечно подошло, чтобы "обойти" задачу, будь у меня простенькая табличка в 3 столбца. Но у меня, извините 25 полей в таблице и штук 10 из них - должно быть с лукапами, берущимися из других таблиц. Ведь не 10 же фиктивных полей мне создавать... Ох...
Цитата


Но это все так для проекта на коленке для личного пользования. Иначе надо ID и внешние ключи.


О чём и речь... Завтра днём поищу/почитаю про первичный ключ и внешний ключ - впервые о них слышу. Не работала с БД настолько углубленно, к своему великому стыду и сожалению, и знаю только что такое "ключевое поле" =__=

В любом случае - отпишусь.

superVadcat512, спасибо, что помогаете и возитесь со мной.
PM MAIL   Вверх
superVad
Дата 13.4.2011, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Цитата(Solominka @  12.4.2011,  23:33 Найти цитируемый пост)
А это что меняет? Просто полуается ещё одно, которое так же находится в прямой зависимости и теперь при выборе лукапа ID_p отображается в FID =_=  Создание этого фиктивного поля конечно подошло, чтобы "обойти" задачу, будь у меня простенькая табличка в 3 столбца. Но у меня, извините 25 полей в таблице и штук 10 из них - должно быть с лукапами, берущимися из других таблиц. Ведь не 10 же фиктивных полей мне создавать... Ох...

Это не "фиктивное поле". В нем хранится ID нужной тебе записи. Так делать правильно.
Почитай про внешние ключи.
PM MAIL   Вверх
Solominka
Дата 14.4.2011, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Посмотрела-почитала про ключи... Ничего толком не поняла. Много слов - и ни одного вразумительного простого примера.
Более ли менее понятные определения, которые мне удалось найти:

Цитата

Первичный ключ (ПК) — поле или набор полей, содержимое которых однозначно определяет запись в таблице и отличает ее от других. Служит для однозначной идентификации записей и в таблице может быть только один.
Обычно, при определении первичного ключа, по нему автоматически создается уникальный индекс. 

Внешний ключ (FK — Foreign Key) используется для создания жесткой связи (многие к одному) между двумя таблицами.
Внешний ключ задается только в том случае, если в первой таблице есть поле, содержащее значение первичного ключа из второй таблицы.
При изменении значения первичного ключа во второй таблице, могут быть изменены все соответствующие значения связанного поля в первой таблице.
При удалении записи с определенным первичным ключом из второй таблице, могут быть удалены все записи с соответствующим значением связанного поля в первой таблице.
Обычно, при определении внешнего ключа, по нему автоматически создается индекс, который используется в запросах при объединении этих двух таблиц. 



Как я поняла, в моём примере в обеих таблицах есть только первичные ключи - это ключевые поля ID и ID_p. И мне надо во второй таблице создать первичный ключ и его указать при создании лукап-поля в 1-й таблице. Так? Или нет?
Если да, то пожалуйста объясните КАК мне создать этот самый "первичный ключ"  - по запросу в гугле "Delphi как создать внешний ключ" мной не было найдено абсолютно ничего вразумительного :(

И если можно, то объясните мне всё это пожалуйста на каком-нибудь простом для понимания примере... Можно даже на яблоках с апельсинами, ибо я НЕ ПОНИМАЮ...

PM MAIL   Вверх
superVad
Дата 14.4.2011, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Solominka
Первичные ключи у тебя в обоих базах уже есть это ID и ID_p.
Тебе надо создать внешний ключ - который связывает ID_p во второй табице и поле в первой таблице где будет хранится его значение (это поле и надо создать). Такая связь называется - один ко многим. Смысл всего этого, что данные из второй таблицы физически в первой не хранятся - только значение ID_p. А внешний ключ контролирует эту связь (следит за ссылочной целостностью).
Как создать внешний ключ - читай в спецификации своей БД.
Внешний ключ не создается в какой то таблице - это отдельный объект (если что  smile ).
 
В приведенном определении все очень даже доступно.

Почитай вики - ссылка - может чего интересного найдешь.

Это сообщение отредактировал(а) superVad - 14.4.2011, 20:07
PM MAIL   Вверх
Solominka
Дата 15.4.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



superVad, хмм, про википедию я как обычно забыла... Большое спасибо, теперь стало хоть немного яснее...

Цитата

Как создать внешний ключ - читай в спецификации своей БД.


Вы имели ввиду СУБД наверное... Долго уже ищу спецификацию для Paradox 7 своей - что-то безуспешно пока.  smile  ну почему мне так не везёт

И меня терзают смутные сравнения: можно ли в уже созданной через Database Desktop таблице как-то создать (добавить) этот самый "внешний ключ" ?  smile 

Это сообщение отредактировал(а) Solominka - 15.4.2011, 14:15
PM MAIL   Вверх
Vas
Дата 15.4.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(Solominka @  15.4.2011,  14:15 Найти цитируемый пост)
И меня терзают смутные сравнения: можно ли в уже созданной через Database Desktop таблице как-то создать (добавить) этот самый "внешний ключ" ?

Не надо его добавлять, просто обрабатывай  правильно поля. Как писали

Цитата(superVad @  12.4.2011,  23:04 Найти цитируемый пост)
Pole2 должно содержать значение ID_p а не Poles - грубо говоря. (Все как написал cat512)

Поле Pole2 должно иметь тип такой же, как поле  ID_p и содержать значения из второй таблицы поля ID_p ну и допускается еще null. Остальные значения Pole2 содержать не должно. Соответственным образом обрабатывая его в программе и получим внешний ключ.


Это сообщение отредактировал(а) Vas - 15.4.2011, 14:59


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Solominka
Дата 15.4.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Vas, спасибо, понятно.

Цитата

Соответственным образом обрабатывая его в программе и получим внешний ключ.


Так вот КАК обработать и где? Меня в данный момент мучает этот вопрос очень.
А то он мне пока что в Pole2 цифры ID_p и выводит а не значения Poles =___=
PM MAIL   Вверх
superVad
Дата 15.4.2011, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Цитата(Solominka @  15.4.2011,  14:24 Найти цитируемый пост)
Так вот КАК обработать и где? Меня в данный момент мучает этот вопрос очень.А то он мне пока что в Pole2 цифры ID_p и выводит а не значения Poles =___=

Значение Poles выводится в лукап поле созданном в программе, в таблице его физически не будет. В таблице будет хранится значение ID_p по которому лукап поле будет находить и отображать Poles.
Если СУБД smile не поддерживает внешние ключи, то физически можешь его не создавать.

Это сообщение отредактировал(а) superVad - 15.4.2011, 17:25
PM MAIL   Вверх
Solominka
Дата 15.4.2011, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Собственно, я выяснила, как создавать внешние ключи...
Только вот где это внешний ключ хранится - не поняла.
Но не суть.
Я связала Pole2 из 1 таблицы с Id_p из второй.

Цитата

В таблице будет хранится значение ID_p по которому лукап поле будет находить и отображать Poles.


Только вот в настройках лукап-поля я указываю значение ID_p и как ключевое поле и как поле, из которого берутся результаты.

И у меня вместо содержимого Poles отображается содержимое  ID_p, что в принципе и логично.

В общем как сделать теперь, чтобы было как надо?  smile 
PM MAIL   Вверх
superVad
Дата 16.4.2011, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Цитата(Solominka @  15.4.2011,  18:38 Найти цитируемый пост)

Только вот в настройках лукап-поля я указываю значение ID_p и как ключевое поле и как поле, из которого берутся результаты.
И у меня вместо содержимого Poles отображается содержимое  ID_p, что в принципе и логично.
В общем как сделать теперь, чтобы было как надо?


Цитата(cat512 @  12.4.2011,  21:24 Найти цитируемый пост)

0)Добавляем новое поле FID типа интегер
1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields -> FID
4) LookupKeyFields -> Id_p
5) lookuoResultField -> Poles

Вместо FID использовать Pole2 - только надо, что бы тип Pole2 был такой же как Id_p.

Возможно имеет смысл поменять название для Pole2  smile 
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Делаю так:

Цитата

1) FieldKind -> fkLookup
2) LookupDataset -> Form2.Query1
3) KeyFields ->Pole2
4) LookupKeyFields -> Id_p
5) lookuoResultField -> Poles


Тип Pole2 был такой же как Id_p, а списка нет вообще =_= Никакого. Но и ошибок тоже не выдаёт.  smile 
PM MAIL   Вверх
cat512
Дата 16.4.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Solominka, дык заполнять Pole2 кто будет? Дядя фёдор? Заполни это поле одним из значений Id_p, и лукап тебе отобразит значение поля Poles, второй таблицы, идентифицируемого с помощью первичного ключа Id_p. 
Что - то тебе объясняют на двух страницах  одно и тоже, а ты всё равно понять не можешь.
PS
Вообще, на своём опыте, редко встречал приложения с лукапами, как правило это очень древние приложения. В основном все пользуются класической схемой - первичные/вторичные ключи + SQL
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Цитата

Solominka, дык заполнять Pole2 кто будет? Дядя фёдор? Заполни это поле одним из значений Id_p, и лукап тебе отобразит значение поля Poles, второй таблицы, идентифицируемого с помощью первичного ключа Id_p. 
Что - то тебе объясняют на двух страницах  одно и тоже, а ты всё равно понять не можешь.
PS
Вообще, на своём опыте, редко встречал приложения с лукапами, как правило это очень древние приложения. В основном все пользуются класической схемой - первичные/вторичные ключи + SQL 


Ну извините, что я такой тормоз тугодоходящий. Я бы и рада уже всё понять и сделать, да вот что-то не получается.  smile 

Уже больше 2-х недель вожусь со всем этим добром.

Ну мне вот нужны лукапы... что поделать. Я бы и рада без них обойтись, но врят ли выйдет.

Попыталась заполнить Pole2 через DatabaseDesktop. Ввелась только единичка.

Может там ещё что-то не так - не знаю уже. 

Для пущей ясности пркрепляю исходник.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ___________.rar 335,41 Kb
PM MAIL   Вверх
cat512
Дата 16.4.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Цитата

Ну мне вот нужны лукапы... что поделать. Я бы и рада без них обойтись, но врят ли выйдет.

Не уверен на счёт этих тезисов, но как говорится "хозяин - барин"
PM MAIL   Вверх
cat512
Дата 16.4.2011, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Большая просьба - ничего не ломать в показанном примере, пока не разберёшься с механизмом работы

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  prob.rar 336,24 Kb
PM MAIL   Вверх
cat512
Дата 16.4.2011, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Надеюсь с путями к БД разберёшься. Только подключай не свои файлы БД, а те которые лежат в архиве

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  prob.rar 336,24 Kb
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



cat512, спасибо конечно, но так и у меня работало... мне нужно чтобы поля FID НЕ БЫЛО вообще. и чтобы при этом при выборе варианта списка НЕ МЕНЯЛОСЬ ID.

Или так не возможно сделать?
PM MAIL   Вверх
cat512
Дата 16.4.2011, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Цитата

спасибо конечно, но так и у меня работало

Именно так, работать у тебя не могло! Потому как не было кое-какого кода. Если ты поиграешься повнимательней, то ты увидишь, что достаточно поменять значение поля Fid, что бы подставилось значение лукапа
Цитата

и чтобы при этом при выборе варианта списка НЕ МЕНЯЛОСЬ ID.

Я смотрю ты мастер пудрить мозги, причём не только себе.  Ну ка, объясни русским языком - это как?
Без проблем, FID  мы выбрасываем. Дальше, объясни каким образом ты будешь идентифицировать тот самый "ВАРИАНТ" smile . И вообще, я не понимаю, почему у тебя меняется ID (первичный ключ таблицы).  Или мы говорим о совсем разных вещах?

Это сообщение отредактировал(а) cat512 - 16.4.2011, 20:28
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Цитата

Я смотрю ты мастер пудрить мозги, причём не только себе.  Ну ка, объясни русским языком - это как?
Без проблем, FID  мы выбрасываем. Дальше, объясни каким образом ты будешь идентифицировать тот самый "ВАРИАНТ" smile . И вообще, я не понимаю, почему у тебя меняется ID (первичный ключ таблицы).  Или мы говорим о совсем разных вещах?


Уфф... Ну в общем объясняю. Мне надо чтобы было лукап-поле. И чтбы при выборе какого-либо варианта из него, в других полях таблицы ничего не менялось... НИЧЕГО. В том числе и в ключевом поле тоже. Просто выпадающий список, берущийся из 2-й таблицы. Без всяких дополнительных полей ненужных.

Мне это и интересно: неужели так сделать нельзя, чтобы вариант в писке спокойно выбирался, но при этом содержимое остальных полей таблицы не коим образом не зависело от этого лукапа.... Это невозможно?
PM MAIL   Вверх
cat512
Дата 16.4.2011, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Д-я-я-д-я-я-я-я Фёдор! smile, ну так причём здесь ТИП (fkLookup) и Lookup поля датасеа! Мы всё это время говорили о разных весчах! Твоя задача описывается след. образом:
" Мне нужно встроить в ячейки поля(Pole2), таблицы просмотра данных (DBGRID), DB-AWARE Control (контрол доступа к данным), типа DBLookupCombobox"
Конечно такое можно сделать, но для тебя будет сложным заданием, да и такой интерфейс не приветствуется.
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



Цитата

Д-я-я-д-я-я-я-я Фёдор! smile, ну так причём здесь ТИП (fkLookup) и Lookup поля датасеа! Мы всё это время говорили о разных весчах! Твоя задача описывается след. образом:
" Мне нужно встроить в ячейки поля(Pole2), таблицы просмотра данных (DBGRID), DB-AWARE Control (контрол доступа к данным), типа DBLookupCombobox"
Конечно такое можно сделать, но для тебя будет сложным заданием, да и такой интерфейс не приветствуется. 


Ну и что мне теперь делать? !

Мне же надо как-то диплом написать =_=

Я ж откуда знала как оно всё называется... Я просто описала как мне надо, чтобы оно выглядело и работало. Вот и просила помощи - чтобы подсказали, как сделать лучше, чтобы было так как мне надо.

Это сообщение отредактировал(а) Solominka - 16.4.2011, 21:02
PM MAIL   Вверх
cat512
Дата 16.4.2011, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



"Сухари сушить" smile 
Используй грид из библиотеки EhLib или QuantumGrid от DevExpress
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



cat512, спасибо, ты добрый :(

Цитата

Используй грид из библиотеки EhLib или QuantumGrid от DevExpress 


Знать бы ещё что это такое и где его взять =__=

Это сообщение отредактировал(а) Solominka - 16.4.2011, 21:15
PM MAIL   Вверх
cat512
Дата 16.4.2011, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 1
Всего: 15



Поищи поиском по нашему форуму, тут ребята кучу ссылок давали на подобные вопросы. Особенно активен в этих вопросах Akella, он постоянно учавствует в темах о разных компонентах и новых возможностях последних и пр. По его профилю можешь найти темы с нужными ссылками
PM MAIL   Вверх
Solominka
Дата 16.4.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 18.12.2009

Репутация: нет
Всего: нет



cat512, хорошо, спасибо, я поищу.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1798 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.