Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2008, 10:52
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию DBGrid с расширеной возможностью

Как сделать что б в ДБгрид, грид грузились связаные поля. Т.е. Имеем таблицу успеваемости студентов, таблицу с предметами, и инфу о студента, тож таблица. Нужно сделать что б дб грид были поля: семестр дисциплины, название дициплины ( из таблицы с успеваемостью) и фио студента (из таблицы о инфе со студентами). Теперь при редактировании поля "название дисциплины" был выпадющий список (список формируется путем вытаскивания из т аблицы с предметами), и после выбора отличного предмета от уже существующего, изменялся семестр.
Ну вот пример:
Цитата:
студенты:
Уникальный номер
Фамилия студента
Имя студента
Дисциплины:
Уникальный норме
Название предмета
семестр: Семестр на котором данная дисциплина читается
Таблица успеваемости:
ИДСтудента: Ид студента из таблицы со студентами
ИДДисциплины: ИдДисциплины из таблицы с дисциплинами
имеем:
студенты:
ид -Иванов - Виктор
Дисциплины
ид -Математика - 3 семестр
ид - Физика - 4 семестр
Таблица успеваемости
идСтудента - идНазвания дисциплины

Теперь в дб грид получаем:
Иванов - Виктор - Математика - 3 семестр

Теперь по клику на название предмета:
должен быть компобокс доступными дисциплинами из таблицы дисциплины.
Затем выбираем новый предмет Физика из этого списка и должны сразу получить:
Иванов - Виктор - Физика - 4 семестр

т.е. поменяли только название а семестр сам поменялся.

Последний раз редактировалось Act, 01.11.2008 в 15:21.
Ответить с цитированием
  #2  
Старый 01.11.2008, 11:07
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Приведи нормально структуру таблиц в виде:
Код:
Имя таблицы
Имя поля1 : Описание содержания
Имя поля2 : Описание содержания
..
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 01.11.2008, 15:21
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

Подправил вроде
Ответить с цитированием
  #4  
Старый 01.11.2008, 16:31
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

Всплывающий список в не в дбгриде делается, и связные поля тоже. Это все оформляется в Базе данных. Всплывающие списки в частности это Lookup поля, создаются в ADOTable или Table для парадокса.
И вообще ты тут целое задание сформулировал. А не конкретный вопрос как сделать что либо.
Ответить с цитированием
  #5  
Старый 02.11.2008, 02:39
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

Да это понятно что связаные поля в бд делаются, но я же из бд вытаскиваю и дбгрид редактирую текст потом применяю, и только в этот момент поидее в бд должно происходить обновление данных, т.е. смена семестра
Ответить с цитированием
  #6  
Старый 02.11.2008, 18:16
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

Епрст, ты спрашиваешь
Цитата:
Как сделать что б в ДБгрид, грид грузились связаные поля. Т.е. Имеем таблицу успеваемости студентов, таблицу с предметами, и инфу о студента, тож таблица. Нужно сделать что б дб грид были поля: семестр дисциплины, название дициплины ( из таблицы с успеваемостью)
Идешь в компонент Table или ADOTable кликаешь правой кнопкой и открывааешь FIELDS EDITOR, в окошке жмешь правой кнопкой и выбираешь добавить все поля. потом что бы добавить поле из другой таблицы жмешь NEW FIELD и заполняешь в форме поля, тип пиля LOOKUP. Чему вас там учат вообще.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter