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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2012, 13:26   #1
dimitrados
Новичок
Джуниор
 
Регистрация: 12.01.2012
Сообщений: 2
По умолчанию Индексированное поле

Здравствуйте!
Есть две таблицы Access: клиент и предмет(подчинённая). Они соединены через MasterSource таки образом(рис1). И вопрос: в поле idK число по идее должно само записываться или нужно вручную? У меня не записывается, а пытаясь самостоятельно вставить-выходила ересь.

рис1
помогите кто чем может, пожалуйста, до сдачи курсовой осталось пол дня и ночь.

вот код Сохранения
PHP код:
if (DataModule1.klient.Modified)or(DataModule1.predmet.Modifiedthen
 begin
   DataModule1
.klient.Post;
   if 
MessageDlg('Сохранено!',mtInformation,[mbOk],0)=mrOk then Close;
 
end

Последний раз редактировалось dimitrados; 12.01.2012 в 13:34.
dimitrados вне форума Ответить с цитированием
Старый 13.01.2012, 05:58   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну вообще такой подход не верен. Ибо у вас получается, что 1 клиенту принадлежит много товаров(связь один ко многим) и у вас будет происходить дублирование информации в таблице предметов.
Т.е.
Вася Пупкин - Пылесос
Петя Пупкин - Пылесос
Вам надо реализовывать связь многие ко многим.
Каким образом.
Вы убираете всю ересь о клиенте из таблицы предметов (назовем ее справочник номенклатуры), а клиенты(справочник клиентов).
И создаем 3 таблицу в которой фиксируем связь между клиентом и предметом.
Вид так на вскидку ID|ID_K|ID_P.
Далее у вас в номенклатуре есть цена. Цена есть величина периодическая.
Т.е. в разных периодах имеет свойство меняться. Стоит заводить справочник цен.
Это если по уму.
А о суммах я вообще молчу т.к. это вообще не имеет отношения к номенклатуре.
Это документы. И если рассматривать вашу задачу в целом я думаю что и приведенные мной решения претерпят изменения.
Потому что если вести речь о документе, то тогда клиент это всего лишь атрибут документа. А ваша номенклатура отданная под клиента это табличная часть документа.
Так что...
А по вопросу у вас
Цитата:
в поле idK число по идее должно само записываться или нужно вручную
ВРУЧНУЮ. Получив его из таблицы клиентов.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 13.01.2012 в 06:00.
rdama вне форума Ответить с цитированием
Старый 14.01.2012, 00:35   #3
dimitrados
Новичок
Джуниор
 
Регистрация: 12.01.2012
Сообщений: 2
По умолчанию

Ответ поздновато пришёл, курсовую уже сдал
Но учту это, когда буду улучшать прогу для диплома.
А автоматически записывать индекс я научился. сначала делаю запись в таблице клиент, потом в предмете.
клиент.инсерт
клиент.пост
предмет.инсерт
предмет.пост
dimitrados вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из простого мемо записать в поле БД Access в поле тоже типа мемо с сохранением всех абзацев пробелов Speeker БД в Delphi 2 28.11.2011 16:22
Уникальное поле и поле счетчик в IBexpert Ist Помощь студентам 4 28.05.2011 09:14
Выпадающее меню индексированное поисковыми роботами Kapitann HTML и CSS 1 29.08.2010 06:44
Значения в поле подстановок зависят от значения в другом поле pyhtelka Microsoft Office Access 4 13.06.2010 10:42
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47