Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 18:33   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Всавка записей в БД Классного журнала

Добрый вечер! Создавая на этот раз тему, надеюсь, что ее не удалят снова. Ладно, ближе к делу. В исходнике, что я выложил заготовка Классного журнала и экселевский файл для проверки. В чем состоит моя проблема и что мне нужно? Нужно реализовать вот что. Все ученики, все оценки, которые получил ученик за определенную дату должны заносится в таблицу БД. Например, пусть класс получил за 2.09.09 оценки. Я сохраняю эти данные в БД, затем сохраняю и закрываю лист журнала в экселевский файл. Потом снова, когда прошел другой учебный день, я открываю сохраненный лист и добавляю новую дату, например, 6.09.09 и рассавляю оценки, а потом снова сохраняю эти оценки и новую дату в БД, но вставляться записи должны только (желательно) с той даты, которая была введена последней. В конечном итоге должно получиться так, что когда я выбираю ученика, я могу видеть его оценки за определенную дату, которую я укажу. Думаю, что с запросом я справлюсь. Надеюсь. А вот составить правильную структуру БД я не могу. Следовательно не могу и организовать связь между таблицами. Полагал сделать три таблицы. Но все упирается в проблему создания циклов вставки записей. Если кто может помочь, то помогите додуматься и сделать. Я не халявщик и не прошу делать за меня, я хочу, чтобы мне помогли. Исходник прикреплен ниже. Разумеется, что моя таблица сделана неправильно.
Вложения
Тип файла: zip Копия Новая папка (5).zip (35.1 Кб, 38 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 17.08.2009 в 18:37.
artemavd вне форума Ответить с цитированием
Старый 17.08.2009, 20:28   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Начните с определения полей (имена и их типы) БД, советую избегать русских символов в названии полей и пробелов.
Затем составьте структуру БД.
Все это на бумаге или еще где нибудь.
Потом реализовывайте. Но учтите, что при реализации БД Вам (скорее всего) придется немного изменить структуру БД, полей и т.д.
(ИМХО) Excel не самый лучший вариант в качестве БД. Хотя бы Access.
psycho-coder вне форума Ответить с цитированием
Старый 17.08.2009, 23:13   #3
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

artemavd, ну для начала я бы разбил всю таблицу на несколько меньших:
1 - список учеников (ФИО)
2 - список предметов
3 - список классов (возможно)
4 - основная табла (соединяет первые 3 таблы по их ID)
P.S. - реализовать всё это на другой СУБД (напр. Firebird), т.к. 1) бесплатная; 2) удобно будет всё это реализовать в просмотре с помощью "просмотра (view)" и т.д. ...
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 18.08.2009, 18:31   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Затем составьте структуру БД.
Я составил новую структуру таблиц. Сделал три таблицы.
Цитата:
(ИМХО) Excel не самый лучший вариант в качестве БД
Да Excel то здесь не причем. В Excel то всего лишь временно хранится файл. Цикл то должен работать по листу, загруженному в мою программу.
Цитата:
P.S. - реализовать всё это на другой СУБД (напр. Firebird), т.к. 1) бесплатная; 2) удобно будет всё это реализовать в просмотре с помощью "просмотра (view)" и т.д. ...
Я с удовольствием освою эту технологию, но, к сожалению сейчас нет времени на нее. .
Я выложил новый исходник с новой структурой БД. Вставка записей в какой то степени идет, но не так как надо. Думаю, что эта структура более удобная чем предыдущая. Как вы считаете уважаемые коллеги??
Вложения
Тип файла: zip Новая папка.zip (42.5 Кб, 21 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.08.2009, 18:53   #5
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 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: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 18.08.2009, 19:31   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вот, сделал как Вы, Yurk@, сказали. Так? А как теперь исправить код вставки?
Вложения
Тип файла: zip Новая папка (7).zip (37.2 Кб, 36 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.08.2009, 15:33   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А вот такой хотелось бы получить ответ у вас на свой вопрос. Возможно ли сделать так, чтобы вставка циклом шла от последней непустой ячейки? То есть например вставили мы записи циклом за дату за 2.09.09. Закрыли. Снова открываем лист, вставляем новую дату, например, 6.09.09, и всавляем только записи циклом те, которые стоят под этой датой, а данные под датой 2.09.09 в цикл бы не заносились. Возможно ли сделать такое? Если да, то как?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы записей 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