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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2009, 14:33   #11
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос

У меня семь пятниц на неделе. Вот сейчас переделал код на вот такой:
Код:
procedure TForm8.BitBtn8Click(Sender: TObject);
var
 i,k,l,m:integer;
begin
 i:=1;
 while Form8.StringGrid1.Cells[1,i] <> '' do begin
  if Form12.Table1.Locate('Fam_jur;Imy_jur;Otche_jur',VarArrayOf([Form8.StringGrid1.Cells[1,i],
                                 Form8.StringGrid1.Cells[2,i],Form8.StringGrid1.Cells[3,i]]),
                                 [loCaseInsensitive,loPartialKey]) = False then
  begin
   Form12.Table1.Insert;
   Form12.Table1.FieldByName('Fam_jur').AsString:=Form8.StringGrid1.Cells[1,i];
   Form12.Table1.FieldByName('Imy_jur').AsString:=Form8.StringGrid1.Cells[2,i];
   Form12.Table1.FieldByName('Otche_jur').AsString:=Form8.StringGrid1.Cells[3,i];
   Form12.Table1.Post;
   Form12.Table1.Refresh;
  end;

  begin
   Form12.Table2.Insert;
   Form12.Table2.FieldByName('Chetvert_jur_2').AsString:=Form8.StringGrid1.Cells[2,28];
   Form12.Table2.FieldByName('Predm_jur_2').AsString:=Form8.StringGrid1.Cells[2,29];
   Form12.Table2.FieldByName('Klass_jur').AsString:=Form8.StringGrid1.Cells[4,28];
   Form12.Table2.Post;
   Form12.Table2.Refresh;
  end;

//всё что выше работает отлично. Непонятно с кодом ниже...
 for k:=1 to 2 do
  if Form8.StringGrid1.Cells[4,i] <> '' then
  begin
   Form12.Table3.Insert;
   Form12.Table3.FieldByName('Data_jur_2').AsString:=Form8.StringGrid1.Cells[4,0];
   Form12.Table3.FieldByName('Mark_jur').AsInteger:=StrToInt(Form8.StringGrid1.Cells[4,i]);
   Form12.Table3.Post;
   Form12.Table3.Refresh;
  end;
 Inc(i);
 end;
end;
Результат работы этого кода показан во вложении. Вопрос: какое условие надо добавить, чтобы в таблицу jur_3 не заносились два раза строчки? Там должны быть только две строчки, т.к. два человека.
Изображения
Тип файла: jpg 0000.jpg (20.3 Кб, 133 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.08.2009, 14:49   #12
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
 for k:=1 to 2 do
сколько раз цикл будет работать столько раз записи м будут попадать
vovk вне форума Ответить с цитированием
Старый 16.08.2009, 14:55   #13
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
сколько раз цикл будет работать столько раз записи м будут попадать
Тогда так чтоли:
Код:
for i:=1 to Form8.StringGrid1.RowCount - 1  do
???
Всего максимальное количество заполненных строчек не будет превышать 25.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема в программе на С++, множественное исполнение цикла Vikelf Помощь студентам 1 25.05.2009 09:31
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Помогите с составлением БЛОК СХЕМЫ kiko Паскаль, Turbo Pascal, PascalABC.NET 1 28.11.2008 11:35
помогите с составлением программ tuborg777 Microsoft Office Excel 2 03.06.2008 20:45