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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2017, 14:24   #11
Михаил_К
Пользователь
 
Регистрация: 17.02.2017
Сообщений: 10
По умолчанию

получилось вот такое чудо, добавляет только последнюю запись в SG
Код:
begin
 for i:= stringgrid1.FixedRows + 1 to stringgrid1.RowCount - 1 do
 begin
  with datamodule4.Table1 do
  begin
   append;
   edit;
   fieldbyname('Nom_nar').AsInteger:= strtoint(label2.Caption);
   fieldbyname('Dat_nar').AsDateTime:= strtodate(label3.Caption);
   fieldbyname('Paci').AsString:= edit1.text;
   fieldbyname('Adres').AsString:= edit2.text;
   fieldbyname('Date_birth').AsDateTime:= datetimepicker1.Date;
   fieldbyname('Vrach').AsString:= dblookupcombobox3.Text;
   fieldbyname('UET_varch').AsInteger:= dbtext3.Field.AsInteger;
   fieldbyname('Tehnik').AsString:= dblookupcombobox4.Text;
   fieldbyname('UET_teh').AsInteger:= dbtext4.Field.AsInteger;

   fieldbyname('Usluga').AsString:= stringgrid1.Cells[1,i];
   fieldbyname('Kol_us').AsInteger:= strtoint(stringgrid1.Cells[2,i]);
   fieldbyname('Cena').AsInteger:= strtoint(stringgrid1.Cells[3,i]);

   fieldbyname('ED').AsString:= dbtext5.Field.AsString;
   post;
  end;
 end;
Михаил_К вне форума Ответить с цитированием
Старый 20.02.2017, 14:31   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

edit; не нужен.


Цитата:
Сообщение от Михаил_К Посмотреть сообщение
добавляет только последнюю запись в SG
а разве вы же в цикле не пытаетесь одно и тоже добавить?

почему у Вас Nom_nar, Dat_nar, Paci и т.д. не берутся из грида?
Цитата:
Сообщение от Михаил_К Посмотреть сообщение
Код:
fieldbyname('Nom_nar').AsInteger:= strtoint(label2.Caption);
   fieldbyname('Dat_nar').AsDateTime:= strtodate(label3.Caption);
   fieldbyname('Paci').AsString:= edit1.text;
   fieldbyname('Adres').AsString:= edit2.text;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2017, 14:38   #13
Михаил_К
Пользователь
 
Регистрация: 17.02.2017
Сообщений: 10
По умолчанию

для удобства ввода данных, в гриде только перечень услуг с ценами за единицу и кол-вом
Михаил_К вне форума Ответить с цитированием
Старый 20.02.2017, 15:19   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Михаил_К Посмотреть сообщение
для удобства ввода данных, в гриде только перечень услуг с ценами за единицу и кол-вом
очень странная логика.
а зачем в таблице нужны повторяющиеся записи (с одинаковыми полями)?
Вы про нормализацию что-нибудь слышали?
а ключевое поле в таблице есть? и какое?


p.s. у меня такое впечатление складывается, что это не Вам, а мне нужно, чтобы у Вас программа работала... Вы зачем в "партизана" играете?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2017, 15:36   #15
Михаил_К
Пользователь
 
Регистрация: 17.02.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
очень странная логика.
а зачем в таблице нужны повторяющиеся записи (с одинаковыми полями)?
Вы про нормализацию что-нибудь слышали?
а ключевое поле в таблице есть? и какое?


p.s. у меня такое впечатление складывается, что это не Вам, а мне нужно, чтобы у Вас программа работала... Вы зачем в "партизана" играете?
повторяющиеся записи нужны потому что на одного человека может быть несколько услуг и в дальнейшем по ним будут проводиться расчеты, ключевое поле иметься Nom_nar
Михаил_К вне форума Ответить с цитированием
Старый 20.02.2017, 15:45   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Михаил_К Посмотреть сообщение
повторяющиеся записи нужны потому что на одного человека может быть несколько услуг
читайте про нормализацию данных!

если кратенько - то все повторяющиеся записи должны остаться в виде ОДНОЙ записи, а всё, что является "на одного человека может быть несколько услуг" должно уйти в отдельную таблицу (или таблицы).


Цитата:
Сообщение от Михаил_К Посмотреть сообщение
ключевое поле иметься Nom_nar
если ключевое поле "Nom_nar" то, исходя из определения ключевого поля, в таблице может быть только ОДНА запись с уникальным Nom_nar. Что Вы, собственно, и получаете в итоге.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2017, 15:54   #17
Михаил_К
Пользователь
 
Регистрация: 17.02.2017
Сообщений: 10
По умолчанию

получается если делать отдельную таблицу для услуг, то ключевым полем будет не Nom_nar я правильно понял ?
Михаил_К вне форума Ответить с цитированием
Старый 20.02.2017, 16:21   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Михаил_К Посмотреть сообщение
получается если делать отдельную таблицу для услуг, то ключевым полем будет не Nom_nar я правильно понял ?
смотря в какой таблице. в старой таблице так и останется ключевым полем.
в таблице услуг нет, там должен быть свой уникальный ключ (ID, например).
а NOM_nar будет в таблице в услуг в качестве внешнего ключа (FK) - для связи с основной таблицей.

читайте теорию, уверен, что она для Вас не будет лишней!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2017, 16:41   #19
Михаил_К
Пользователь
 
Регистрация: 17.02.2017
Сообщений: 10
По умолчанию

спасибо большое за помощь, и за терпение )
Михаил_К вне форума Ответить с цитированием
Старый 21.02.2017, 10:35   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это завсегда пожалуйста!

форум же для этих целей (помогать друг другу) и создан!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет суммы kent4 Microsoft Office Excel 12 19.12.2012 18:11
Подсчет суммы killer12rus SQL, базы данных 1 26.09.2010 00:35
Подсчет суммы Владимир1988 Помощь студентам 7 05.12.2009 23:02
Подсчет суммы в DBGrid girz БД в Delphi 3 16.05.2009 14:11
Подсчет суммы Kardi PHP 0 23.11.2008 16:46