Войти

Показать полную графическую версию : Вроде бы элементарно...ACCESS и Delphi7


Greshnick
07-02-2013, 12:20
Пишу базу данных на Делфи. Имеется две таблицы одна таблица эта информация об учащемся, а другая оценки. Структура примерно следующая:
Учащиеся: ID - счетчик, Fam,Name,Otec,Foto, Adress -текстовый; Оценки Id счетчик,Fam -текстовый. Дни с оценками буду добавлятся как столбцы в конец ну и итог за обучение среднее арифметическое.
Но вопрос состоит в следующем...как мне связать таблицы в ACCESS если это возможно или в самом делфи...чтобы при добавлении нового учащегося в таблицу Ученики происходило автоматическое добавление в таблицу оценки. Можно ли это как то готовыми средствами сделать..или все таки придется...SQL прикручивать, если SQL, то можно пример запроса? Спасибо заранее за помощь)

cookie_monster
07-02-2013, 17:08
Greshnick, Немного не понял задачу. Можно более подробно узнать что требуется.
Связать Access с Delphi?
Использовать ACCESS базу а логику писать в delphi?

Delirium
08-02-2013, 07:32
при добавлении нового учащегося в таблицу Ученики происходило автоматическое добавление в таблицу оценки »
А что он туда должен добавлять? Оценок же нет еще.
И зачем в Оценках поле FAM? Там достаточно полей:
id оценок, id ученика, предмет(или id предмета из третьей таблицы), оценка.

AlexVol
08-02-2013, 09:59
Надо покурить базы данных... :)
Без SQL сейчас никуда. В Вашем случае запросы простейшие - таких в любой книге "для начинающих" навалом.
Связывать таблицы в Access средствами автоподстановки самого Access не советую: потом не разгребете.
Дни с оценками буду добавлятся как столбцы в конец »
Это что, хотите увеличивать количество полей в таблице ?!?!?!
В таком случае поздравляю с очень быстрым окончанием процесса выставления оценок.
Структура оценок должна быть: счетчик, дата, id ученика, id предмета, оценка.
Связь в реляционных БД осуществляется по ключевым полям. Таким образом, таблицы учеников и оценок будут связаны полями ID и id ученика.

Iska
08-02-2013, 16:50
Связывать таблицы в Access средствами автоподстановки самого Access не советую: потом не разгребете. »
Да ну?!

AlexVol
11-02-2013, 11:04
Да ну?! »
Ну да ;)
Уже имею опыт по разгребанию чужой поделки. Эта зараза подставляла не ключи, а значения и при смене значения в таблице-источнике в таблице-приемнике все ломалось.

Iska
11-02-2013, 12:51
AlexVol, это как правило говорит о том, что структура базы не была верным образом продумана, и реализовывалась через пень-колоду, на авось.

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

AlexVol
12-02-2013, 12:36
Iska, к сожалению, Access поощряет создание таких неправильных структур кажущейся простотой.
Поэтому автору все-таки надо сначала почитать немного теории.
В принципе пойдет даже такая древность, как "Программирование баз данных в Delphi 7" Фаронова.
Надо только не читать про BDE и ограничится теорией баз данных и SQL.
Гораздо лучше "Delphi. Разработка баз данных" Сорокина. Про BDE - аналогично.

Iska
12-02-2013, 13:54
AlexVol, Microsoft Access — всего лишь программа, а не панацея. Наличие в нём мастеров отнюдь не означает, что можно не учиться.

Поэтому автору все-таки надо сначала почитать немного теории.»
Абсолютно согласен. Нормальные формы и ER-диаграммы.

Greshnick
13-02-2013, 18:46
Ребят, разобрался быстро сам, программно все реализовал, "повешал" на кнопки процедуры и все работает отлично.

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

cookie_monster
13-02-2013, 18:59
Поэтому автору все-таки надо сначала почитать немного теории. »
Не удержался ни предложить книги по базам :)
Дейт. «Введение в системы баз данных»
Ульман. «Основы систем баз данных».

Томас Коннолли, Каролин Бегг. «Базы данных. Проектирование, реализация и сопровождение. Теория и практика».

В свое время не стал читать, БД всегда были скучны для меня..

Iska
13-02-2013, 22:22
БД всегда были скучны для меня.. »
Отчего так?

cookie_monster
13-02-2013, 23:34
Отчего так? »
Всегда тяготел к низшим уровням, быть намного ближе к железу..




© OSzone.net 2001-2012