![]() |
|
|
![]()
|
|
| Rodeon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 28.8.2008 Где: Россия, Ухта Репутация: нет Всего: нет |
Имееться база db1.mdb, в ней несколько таблиц T1, T2, T3 и т.д.
Список таблиц фиксированный, имена их тоже фиксированны! В одних таблицах содержаться данные, в других параметры и списки для этих самых данных! Сама таблица открываеться замечательно на редактирование, но встала проблемма, при добавлении новой записи к таблице данных не в ручную каждый раз вводить данные, а данные брались бы из этой же базы из таблицы параметров! Таблица параметров как например! --------------------------------------------------------------------------------------------- : Идентификатор : Поле : Цвет : Параметр : и. т.д. --------------------------------------------------------------------------------------------- : 1 : 0.01 : ГБ : СВД : и т.д --------------------------------------------------------------------------------------------- : 2 : 0.02 : БГ : СВД : и т.д --------------------------------------------------------------------------------------------- : 3 : 0.02 : ГЖ : СВД : и т.д --------------------------------------------------------------------------------------------- : 4 : 0.01 : ЛБ : УМК : и т.д --------------------------------------------------------------------------------------------- : 5 : 0.03 : МБ : ТГВ : и т.д и.т.д Дохожу до заголовка заблицы: ADOConnection.GetTableNames(ComboBox.Items); ... ADOConnection.GetFieldNames(ComboBox.Text, ComboBox1.Items); Пробую данные колонки передать в еще один Combobox: adotable.TableName:='Etalon0'; adotable.Active:=true; Пробую и так, но это лишь заголовки колонок выдает! ComboBox2.Items:=adotable.FieldDefList; А так вообще ничего не дает!? ComboBox2.Items:=dbgrid.Columns.Items[1].PickList; Подскажите плиз. как реализовать такое! Это сообщение отредактировал(а) Rodeon - 29.1.2009, 23:43 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Как я понял, то у тебя есть таблица основная и таблицы-справочники?
|
|||
|
||||
| Rodeon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 28.8.2008 Где: Россия, Ухта Репутация: нет Всего: нет |
Да, все правильно! и основная таблица, которых несколько и справочники к ним храняться в одной базе! заполняю их и сейчас, но многие данные повторяються и каждый раз их приходиться вбивать заново в новую строку в таблице, что нецелесообразно и времени тратиться больше! Хотелось бы что бы при открытии базы в нухные combobox-ы азгружались колонки данных с таблиц. Может есть какая нибудь функция натипо этих:
ADOConnection.GetTableNames(ComboBox.Items); ADOConnection.GetFieldNames(ComboBox.Text, ComboBox1.Items); только что бы саму колонку данных передавала в ComboBox!? Это сообщение отредактировал(а) Rodeon - 30.1.2009, 00:59 |
|||
|
||||
| Akella |
|
||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Есть основная таблица apart, в которой есть поля: ID, Input_Date, ID_TYPE
ID_TYPE - это поле справочника Есть справочник TYPES, в котором только 2 поля ID и Name Так вот, пользователь в выпадающем списке видит значения поля Name из таблицы TYPES.
Допустим, что пользователь выбрал какую-то строку из списка: id = 10, Name = 'Первый тип'. Теперь наша задача, как программистов присвоить основной таблице полю ID_TYPE какое значение?? Правильно - 10. Выпадающий список соединяем с набором данных, в наборе данных такой запрос:
Теперь когда пользователь выберет что-то из списка, то будет видеть поле Name при соответствубщей настройке выпадающего списка - DBCombobox. При редактировании основной таблицы мы присвоим значение поля ID справочной таблицы, полю ID_TYPE основной таблицы. И в основной таблице будет запись
|
||||||
|
|||||||
| Rodeon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 28.8.2008 Где: Россия, Ухта Репутация: нет Всего: нет |
В принципе направление правильное, но немного не то, что я имел ввиду!
Вот таблица в архиве! db.mdb Для уменьшения объема удалил несколько таблиц! Таблица в базе T_18 - это таблица данных! Поля в ней (балл, цвет и битумоид) можно заполнять вручную, а можно было бы из списка, заранее загруженного брать! Для поля (балл) все возможные комбинации храняться в другой таблице D1_35 в колонке "код" комменты к ним в колонке "Наименнование" Для поля (цвет) все возможные комбинации храняться в другой таблице D1_36 в колонке "код" комменты к ним в колонке "Наименнование" Для поля (битумоид) все возможные комбинации храняться в другой таблице D1_37 в колонке "код" комменты к ним в колонке "Наименнование" и вот когда будет создаваться новая запись в таблице T_18, указываеться вручную "кровля", "подошва" а (балл, цвет и битумоид) хотелось бы что-бы брались с выбранных в ComboBox-ах! А вот как в них загрузить данные из таблиц я не знаю!? Т.е. как из таблиц D1_35, D1_36, D1_37 с колонок "код" передать все значения в соответствующие Combobox-ы!? Присоединённый файл ( Кол-во скачиваний: 3 )
db1.rar 301,37 Kb |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Ты уж извини, у меня нет времени да и желания (( разбираться в твоей базе.
|
|||
|
||||
| Rodeon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 28.8.2008 Где: Россия, Ухта Репутация: нет Всего: нет |
Ну может есть тогда функция какая передать данные со всей колонки из таблицы и занести их в combobox или присвоить значение колонки combobox-у?
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
это всего несколько строк кода Добавлено через 5 минут и 31 секунду Колонки чего? Грида? Советую работать не с гридом, а с набором данных. http://forum.vingrad.ru/index.php?showtopi...t&p=1767484 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Проблема тут в скорости будет, если число записей соответствующее. Но другого способа я лично не вижу... -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Пикачу |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 18.7.2006 Где: Московская област ь. Репутация: нет Всего: нет |
Rodeon У меня не много опыта в программировании, это больше хоби чем работа. Я поступил так. Может это и не оптимальный код и при большом количестве данных займет много времени, не знаю. У меня заполняло около 600 значений довольно быстро.
|
||||
|
|||||
| Rodeon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 28.8.2008 Где: Россия, Ухта Репутация: нет Всего: нет |
Забыл сказать, я в грид только вывожу данные а работаю как раз с набором!
Akella спасибо большое за ответ, то что нужно было! ComboBox2.Items.Add(ADOTable.FieldList.Fields[1].asString); Я оказываеться путал местами: писал ADOTable.Fields[1] и пытался подобрать дальше метод... Спасибо всем: вот что вышло в итоге:
Пикачу, вам также спасибо, но пока я писал свое сообщение вы уже опубликовали свое! Akella правильно? Вы про эти несколько строк писали? Это сообщение отредактировал(а) Rodeon - 30.1.2009, 22:33 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |