Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - Строка БД (таблицы) - ссылка

Ответить
Настройки темы
Прочие БД - Строка БД (таблицы) - ссылка

Пользователь


Сообщения: 131
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть БД на делфи
Компоненты:
ADOConnection1 - цепанули к БД Accsess
ADOTable1 - Активировали таблицу
ADOQuery1 - сделали запрос к полю naimen, нашей таблицы
DataSource1 - все подконнектили.

Кроче при запуске программы все выводит в DBGridEh1 правильно.

Но возникла необходимость сделать следующее:
Алгоритм:
1) Выделяешь (или как еще можно реализовать это?) некоторую строку(ячейку) из таблицы (DBGridEh1).
2) Жмешь кнопку "Перейти".
3)Происходит переходит на другую форму соответствующую выбранному полю. Но фишка в том, что каждое поле будет иметь СВОЮ форму!

Т.е. проблема в том: Как сделать так чтобы любая строка таблицы (DBGridEh1) была некоторой ссылкой?
Чтобы срабатывала команда типа form2.show;

Ребята, подскажите пожалуйста.

Отправлено: 21:13, 05-12-2007

 

Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Вамнужно просто показать пустую форму? Подробнее распишите, что должно быть в результате перехода.

-------
black-eric.livejournal.com


Отправлено: 21:45, 05-12-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 131
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как я уже сказал, нужно чтобы либо сама любая строка в DBGridEh1 была кнопкой, либо нужно сделать так, чтобы была возможность каким-либо образом пометить её, что выбрана ТАКАЯ-ТО строка и по средством обычного БуттонКлик Перейти на другую пустую форму
Если фигурально выражаться д/б такая конструкция:
1 строка = 1 форма
2 строка = 2 форма
и.т.д

Отправлено: 22:27, 05-12-2007 | #3


Аватара для kim-aa

Назгул


Сообщения: 2633
Благодарности: 345

Профиль | Отправить PM | Цитировать


Цитата Student00:
Как сделать так чтобы любая строка таблицы (DBGridEh1) была некоторой ссылкой? »
Это невыполнимое требование с точки зрения реляционной алгебры.
Работать вы должны с атомарным значением, т. е. с "пересечением" определенной строки и столбца.
Т. е. вы должны веделить отдельный столбец который будет хранить значения, представляющее собой ссылку (ForignKey)
на строку в отдельной таблице.
В просетйшем случае та таблица будет содержать всего два столбца:
- Первичный ключ.
- Значение.

Как вы "оформите значение" - это уже Ваше дело.
Хотите это будет просто имя формы, хотите ссылка на внешнюю процедуру, хотите BLOB-объект.

Вобще, мой совет, уделите свое время прочтению книги по реляционной математике. Если нет времени на прочтение талмуда типа "Введение в реляционные базы данных", то прочтите какую либо книжку по MS SQL. ваша беда что вы начинаете оперировать в терминах среды програмирования, а это не правильно. Сначала проектируется ЧТО и КАК нужно сделать, а ЧЕМ это дело десятое

-------
Мы овладеваем более высоким стилем спора. Спор без фактов. Спор на темпераменте. Спор, переходящий от голословного утверждения на личность партнера. (c)Жванецкий


Отправлено: 11:34, 06-12-2007 | #4


Пользователь


Сообщения: 131
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребят, собственно что мне нужно в итоге?
Создаю Экспертную систему на тему "Выбор бытовой техники".

Алгоритм работы такой:
Пользователь, посредством, меню выбирает варианты ответов на поставленные наводящие вопросы и в итоге получает рекомендацию к покупке того или иного товара.

И ладно бы на пихать Радио кнопок и через if then else реализовать механизм.
Но вся проблема в том, что нужно чтобы пользователь мог во время работы программы редактировать вопросы, ответы. Т.е. мне нужно создать админку к экспертке.

Для этого нужно использовать БД. Я создал БД на Microsoft Office Access (к счастью с этим проблем не возникло).

Далее я хотел сделать следующее (поскольку хоть как-то могу сам это реализовать):
На первой страницы добавить компонент DBGridEh1 в качестве списка-пунктов меню. И посредством ADOConnection1, ADOTable1, ADOQuery1, DataSource1 вывести данные и БД в DBGridEh1 - это мне удалось. Следующим шагом планировал одну запись в таблице БД=как пункт меню, но по некоторым причинам отказался от этого.

Решил попытаться создать меню через компонент RadioGroup1.

И вот тут возникли проблемы:
1) В свойствах этого компонента я не нашел DataSource через который бы я смог подконнектится к АDO.
2) Как реализовать динамически добавляемые радио кнопки в зависимости от количества записей в соответствующей таблице в БД.

Тоесть собственно вопрос состоит в том:
Ребята, подскажите, пожалуйста, как сделать так, чтобы при запуске приложения, программа автоматически осуществляла запрос к указанной таблице в БД и динамически создавала радио кнопки в зависимости от количества записей в таблице, т.е. 1 запись = 1 кнопка с соответствующим наименованием.

ПС. Объяснил как смог ))

Отправлено: 17:11, 08-12-2007 | #5


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Идея не верна.
Если будет 10000 записей, то вы будете создавать 10000 кнопок?
Вам нужно создать 2 таблицы
и при выборе записей в одной (мастер) отображать соответствующие ей данные в другой (деталь).
Т.е. гуглите по словам мастер-деталь и смотрите что это такое.

Цитата Student00:
ADOTable1, ADOQuery1 »
Лучше использовать ADODataSet.

-------
black-eric.livejournal.com


Отправлено: 13:20, 09-12-2007 | #6


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Student00:
как сделать так, чтобы при запуске приложения, программа автоматически осуществляла запрос к указанной таблице в БД и динамически создавала радио кнопки в зависимости от количества записей в таблице, т.е. 1 запись = 1 кнопка с соответствующим наименованием »
В Access проще всего сделать форму с заведомо достаточным количеством радокнопок, установить свойство visible в false, а при открытии делать видимыми только нужные.

Цитата Student00:
3)Происходит переходит на другую форму соответствующую выбранному полю. Но фишка в том, что каждое поле будет иметь СВОЮ форму! »
В Access команда DoCmd.OpenForm требует имя формы как строку. Добавь в таблицу строковое поле "Имя Формы" и передавай его значение.

Отправлено: 22:48, 02-02-2008 | #7


Пользователь


Сообщения: 131
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо конечно, но все уже реализовано посредством запроса к файлам ini ))

Отправлено: 13:14, 03-02-2008 | #8


Пользователь


Сообщения: 131
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребят, все что выше это ерунда.
*.ini - идея тоже практически провалилась.

Вобще делаю экспертную систему. Выбор бытовой техники.
Просьба скачать файл прежде чем читать дальше

1) Как видно на первой странице мы в компонент DBLookupComboBox1 из BD.mdb присваиваем значения из таблицы "kat".
2) Переходим на следующую страницу и начинаются проблемы:
Компонент DBLookupListBox1 должен отображать список вопросов, соответствующих выбранной на первом шаге категории. Для этого он обращается к таблице "vopros", но выводятся все вопросы какие есть в таблице.

Подскажите пожалуйста что нужно сделать чтобы было как должно быть. Возможно нужно подругому организовать БД, возможно нужно что-то сделать (прописать в коде, либо может компонент какой бросить или заменить) - я не знаю.

Последний раз редактировалось Student00, 13-03-2013 в 19:25.


Отправлено: 10:41, 04-02-2008 | #9


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


1. DBLookupComboBox1 - убрать. LookUpы - зло и на больших объемах тормозят. Используйте обычный ComboBox.
2. При выборе значения в Combobox открываете запрос к таблице вопрос ручками с where kat='что нужно' и отбображаете результат запроса .

P.S. Rara нет. Хотите чтобы смотрел - перепакуйте в zip или другой свободный формат.

-------
black-eric.livejournal.com


Отправлено: 12:37, 04-02-2008 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - Строка БД (таблицы) - ссылка

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ссылка в флеш анимации 4ipusik Хочу все знать 2 23-10-2009 13:32
flash - ссылка bool Вебмастеру 5 26-10-2008 09:58
Ссылка для назойливых Ment69 Юмор 6 21-08-2007 11:20
flash как ссылка chem1 Вебмастеру 7 30-08-2005 14:50
Ссылка не подчёркнутая Cokol Вебмастеру 3 11-11-2003 11:21




 
Переход