|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.08.2009, 18:33 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Всавка записей в БД Классного журнала
Добрый вечер! Создавая на этот раз тему, надеюсь, что ее не удалят снова. Ладно, ближе к делу. В исходнике, что я выложил заготовка Классного журнала и экселевский файл для проверки. В чем состоит моя проблема и что мне нужно? Нужно реализовать вот что. Все ученики, все оценки, которые получил ученик за определенную дату должны заносится в таблицу БД. Например, пусть класс получил за 2.09.09 оценки. Я сохраняю эти данные в БД, затем сохраняю и закрываю лист журнала в экселевский файл. Потом снова, когда прошел другой учебный день, я открываю сохраненный лист и добавляю новую дату, например, 6.09.09 и рассавляю оценки, а потом снова сохраняю эти оценки и новую дату в БД, но вставляться записи должны только (желательно) с той даты, которая была введена последней. В конечном итоге должно получиться так, что когда я выбираю ученика, я могу видеть его оценки за определенную дату, которую я укажу. Думаю, что с запросом я справлюсь. Надеюсь. А вот составить правильную структуру БД я не могу. Следовательно не могу и организовать связь между таблицами. Полагал сделать три таблицы. Но все упирается в проблему создания циклов вставки записей. Если кто может помочь, то помогите додуматься и сделать. Я не халявщик и не прошу делать за меня, я хочу, чтобы мне помогли. Исходник прикреплен ниже. Разумеется, что моя таблица сделана неправильно.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
Последний раз редактировалось artemavd; 17.08.2009 в 18:37. |
17.08.2009, 20:28 | #2 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Начните с определения полей (имена и их типы) БД, советую избегать русских символов в названии полей и пробелов.
Затем составьте структуру БД. Все это на бумаге или еще где нибудь. Потом реализовывайте. Но учтите, что при реализации БД Вам (скорее всего) придется немного изменить структуру БД, полей и т.д. (ИМХО) Excel не самый лучший вариант в качестве БД. Хотя бы Access. |
17.08.2009, 23:13 | #3 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
artemavd, ну для начала я бы разбил всю таблицу на несколько меньших:
1 - список учеников (ФИО) 2 - список предметов 3 - список классов (возможно) 4 - основная табла (соединяет первые 3 таблы по их ID) P.S. - реализовать всё это на другой СУБД (напр. Firebird), т.к. 1) бесплатная; 2) удобно будет всё это реализовать в просмотре с помощью "просмотра (view)" и т.д. ...
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
18.08.2009, 18:31 | #4 | |||
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Цитата:
Цитата:
Цитата:
Я выложил новый исходник с новой структурой БД. Вставка записей в какой то степени идет, но не так как надо. Думаю, что эта структура более удобная чем предыдущая. Как вы считаете уважаемые коллеги??
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|||
18.08.2009, 18:53 | #5 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
как-то мне не совсем понравилось, то что ты следал (это мое мнение):
я предлагал сделать так: 1-ая табла(ФИО): 1-е поле: ID 2-е поле: FAMILY 3-e поле: NAME 4-e поле: OTCHSTVO 2-ая табла(ПРЕДМЕТЫ): 1-e поле: ID 2-e поле: NAME_PREDMET 3-я табла(КЛАССЫ): 1-e поле: ID 2-e поле: KLASS 4-ая табла(ОБЩАЯ): 1-e поле: ID 2-e поле: id-фамилии (табла №1) 2-e поле: id-предмета (табла №2) 4-e поле: id-класса (табла №3) а остальное по списку
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
18.08.2009, 19:31 | #6 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Вот, сделал как Вы, Yurk@, сказали. Так? А как теперь исправить код вставки?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
20.08.2009, 15:33 | #7 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
А вот такой хотелось бы получить ответ у вас на свой вопрос. Возможно ли сделать так, чтобы вставка циклом шла от последней непустой ячейки? То есть например вставили мы записи циклом за дату за 2.09.09. Закрыли. Снова открываем лист, вставляем новую дату, например, 6.09.09, и всавляем только записи циклом те, которые стоят под этой датой, а данные под датой 2.09.09 в цикл бы не заносились. Возможно ли сделать такое? Если да, то как?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы записей | Mr.Been | Фриланс | 4 | 24.05.2009 11:59 |
Всавка из TImage в Excel или Word | nevo | Компоненты Delphi | 6 | 09.10.2008 12:01 |
Траблы с Интер бейзом (ведение журнала) | Tarnym | БД в Delphi | 1 | 30.03.2008 15:40 |
Набираются люди для создания оффлайн журнала | KORN | Свободное общение | 44 | 21.11.2007 23:01 |
создание журнала событий | alshab | Общие вопросы Delphi | 3 | 20.05.2007 17:03 |