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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2009, 15:13   #1
pembrock
Новичок
Джуниор
 
Регистрация: 22.08.2009
Сообщений: 2
По умолчанию БД Access

Всем привет. Помогите прогу доделать.
Вообщем имеется БД с такими полями:
id, Фамилия, Имя, Отчество, Год рождения, Улица, Дом, Квартира, категория инвалидности, Трудозанятость
и еще должно быть поле со временем. Вот с ним то и не могу разобраться.

Должно быть так что заносишь нового человека к примеру(или редактируешь). И нужно для него указать сколько времени на него потрачено в месяц там или в неделю. Короче по дате что бы можно было время добавлять. И время это(за месяц например) должно потом суммироваться в таком виде:

15:00
10:10
в итоге должно получиться:
25:10

Я сделал что бы оно так складывалось но не могу приделать его к своей проге..что бы в БД все это хранилось. Просто не могу догнать как сделать. Что бы по месяцам это время хранилось(для каждого человека) и потом в случае чего можно было найти, посмотреть, отредактировать.

Подскажите пожалуйста.

Вот тут можно скачать то что у меня пока получилось Ссылко
Там отдельно исходники на прогу которая время считает и отдельно сама БД.
pembrock вне форума Ответить с цитированием
Старый 22.08.2009, 15:26   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ещё просто 1 таблицу надо в которой будет ссылка на id в этой таблице, поля id(первичный ключ автоинкр), id_own (внешний ключ ссылка на ид владельца, то есть ссылка на запись о человеке к которому всё это относится), time_begin (дата+время начала(уж не знаю как назвать чего.)), time_end (дата+время окончания (того что начинали)), comment (текстовое, либо мемо поле, описание либо примечание к действию) если действия разные то полезно завести ещё 1 поле с названием действия.

вот и всё вроде. кстати можно и без первичного ключа обойтись

ЗЫ Файлики не качал..
vovk вне форума Ответить с цитированием
Старый 22.08.2009, 17:01   #3
pembrock
Новичок
Джуниор
 
Регистрация: 22.08.2009
Сообщений: 2
По умолчанию

хм...а как это все в дэлфи засунуть?)
к примеру я пытался сделать что бы заносилось время, ну в делфи добавляешь время в таком виде
15:00:00
10:10:00
5:15:00
...
...
все это было в листбоксе ниже был ДБЕдит или как там он не помню в котором показывалась сумма.
в базе данных поле мемо куда записывалось время(которое в листбоксе) и поле куда сумма записывалась.
Но потом в делфи нельзя все это отредактировать(изменить).
Да и ссылки на айди с пользователями тож..как сделать?) Вот на php и mysql все это по моему проще делается, а тут не получается так)
pembrock вне форума Ответить с цитированием
Старый 22.08.2009, 17:24   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ээ не не надо время записывать в мемо. потом сами замучеетесь из всего этого отчёты строить.. каждое посещение= отдельная запись.
Когда есть все кирпичики можно построить всё что требуется в данный момент.. поверьте будеть гораздо легче потом. Чуть чуть подучить SQL и всё покажется таким простым..
Вы пытались осуществить связь один- к многим, с помошью многострочного поля, это изначально проигрышный вариант. Реляционная модель гораздо гибче, и проще в понимании. При добавлении записи в ту таблицу которую я предложил, добавляйте в поле id_own значения поля id из первой таблицы, тогда построить набор данных из этих 2 таблиц будет очень легко, хоть с рассчётами, хоть просто отобразить всё что было.

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

Последний раз редактировалось vovk; 22.08.2009 в 17:26.
vovk вне форума Ответить с цитированием
Старый 26.08.2009, 09:04   #5
Dr.Black
 
Регистрация: 26.08.2009
Сообщений: 9
По умолчанию

Цитата:
Чуть чуть подучить SQL и всё покажется таким простым..
Я не учил, а использую конструктор в аксессе.
pembrock, попробуй так:

Твоя таблица:
id
ФИОтчество
Год рождения
Улица
...
Трудозанятость

Таблица подсчета времени:
id - счетчик
id - твоей таблицы (указывает непосредственно на клиента)
Time - текстовый

Далее по своему алгоритму складывай поле времени подчиненной таблицы.

Цитата:
Но потом в делфи нельзя все это отредактировать(изменить).
Сумму изменить конечно нельзя, но можно изменять время в подчиненной таблице и пересчитать заново.
Я за бесплатный софт! И за свой тоже... )

Последний раз редактировалось Dr.Black; 26.08.2009 в 09:14.
Dr.Black вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть БД на Access 2.0, нужно открыть в Access 2003 Spirit_33 Microsoft Office Access 1 23.07.2009 07:59
Access 97, открыть базу данных Access alexhol Microsoft Office Access 0 27.04.2009 12:10
access 97 Neymexa Microsoft Office Access 1 18.12.2008 23:15
MS Access asdqwee БД в Delphi 1 27.11.2008 10:36
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable Lev БД в Delphi 0 11.11.2007 12:14