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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 04:46   #21
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
так уточняю в таблице rezult есть автоинкрементное поле Id , которое нас совершенно не касается так?
Верно)
Цитата:
там же есть поле с неизвестным названием в котором содержатся названия четвертей , которые есть в таблице chetverty в поле chetvert так?
Маленькое уточнение. Содержится не название четвертей, а номер четверти. В таблице rezult это поле ID_Chetvert, в котором содержатся номера четвертей. Не само название четверти, а номер этой самой четверти.
Цитата:
судя по названию в таблице результ может быть несколько записей связанных с 1 записью в таблице chetverty
Верно. Все те записи, которые в таблице rezult в поле ID_Chetvert имеют 1, должны быть при резудьтате запроса отображены. Так как цифра "1" означает, что выбрана первая четверть. Понятнее стало?))
Изображения
Тип файла: jpg Безымянный0.jpg (25.4 Кб, 123 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.07.2009, 05:02   #22
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
Query_ITOG.close;
Query_ITOG.SQL.Text:='Select * from rezult where rezult.ID_Chetvert='+Table4.FieldByName('ID_Chetvert').AsString;
Query_ITOG.Open;
запрос както так должен выглядеть,
действие можно использовать ondatachange датасоурса в параметре датасет которого указана Table4
vovk вне форума Ответить с цитированием
Старый 02.07.2009, 05:05   #23
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ща попробую
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.07.2009, 05:12   #24
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробовал. Оно и ошибки то нет, но и ничего не выводится. Просто пустая таблица показывается.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.07.2009, 05:18   #25
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

а без условия то отображаются данные? просто выборка работает?
vovk вне форума Ответить с цитированием
Старый 02.07.2009, 05:20   #26
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Да. Я чуть попозже покажу код, где я считаю есть ошибка
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.07.2009, 08:33   #27
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да. Я чуть попозже покажу код, где я считаю есть ошибка
Давай ты лучше прикрепишт сюда весь проект, ато похоже ты не понял что тебе говорили.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2009, 17:52   #28
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вот код:
Код:
procedure TForm2.SpeedButton4Click(Sender: TObject);
var
 i:integer;
begin
 i:=1;
 //здесь идет у меня проверка на существование ранее вносимых записей в таблице infa	
 while Form1.SG9.Cells[1,i] <> '' do begin
  if Form2.Table1.Locate('LAST_NAME;FIRST_NAME;OTCHESTVO',VarArrayOf([Form1.SG9.Cells[1,i],
                                 Form1.SG9.Cells[2,i],Form1.SG9.Cells[3,i]]),
                                 [loCaseInsensitive,loPartialKey]) = False then
	//вставка записей в таблицу infa 
  begin
     Table1.Insert;
     Table1.FieldByName('KLASS').AsString:=Form1.Edit2.Text;
     Table1.FieldByName('LAST_NAME').AsString:=Form1.SG9.Cells[1,i];
     Table1.FieldByName('FIRST_NAME').AsString:=Form1.SG9.Cells[2,i];
     Table1.FieldByName('OTCHESTVO').AsString:=Form1.SG9.Cells[3,i];
     Table1.Post;
     Table1.Refresh;
  end;

  //проверка на существование записей в таблице period
  if Table_74.Locate('Chetvert;GOD',VarArrayOf([Form1.DBLookupComboBox2.Text,
                                                Form1.Edit3.Text]),
                                 [loCaseInsensitive,loPartialKey]) = False then
	//вставка записей в таблицу period
 begin
   Table2.Refresh;
   Table_74.Insert;
  //Должен заноситься номер выбираемой четверти из DBLookupComboBox2, а заносится почему то порядковые номера, т.е. 1,2,3...
   Table_74.FieldByName('Chetvert').AsString:=Form1.DBLookupComboBox2.Text;
   Table_74.FieldByName('GOD').AsString:=Form1.Edit3.Text;
   Table_74.Post;
  end;

  //полагаю, что ошибка скрывается в этом участке кода
  begin
   Table3.Insert;
   //пытался сделать связь между таблицами rezult и period. Table3 - это rezult, а Table_74 - это period. Должен заноситься номер выбираемой четверти из       
   //DBLookupComboBox2, а заносится почему то порядковые номера, т.е. 1,2,3... То есть, когда я выбираю название четверти из списка, то у меня должен заноситься номер
   //выбираемой четверти и заноситься в таблицу rezult, Table3, в поле ID_Chetvert. Например, выбрал 1 четверть, в Table3, в поле ID_Chetvert должен занестись номер четверти
   Table3.FieldByName('ID_Chetvert').AsInteger:=Table_74.FieldByName('ID').AsInteger;
   Table3.FieldByName('IDInfo_2').AsInteger:=Table1.FieldByName('ID').AsInteger;

   //вставка записей в таблицу rezult 
   Table3.FieldByName('DVOEK').AsString:=Form1.SG2.Cells[0,i];
   Table3.FieldByName('TROEK').AsString:=Form1.SG2.Cells[1,i];
   Table3.FieldByName('CHETVEROK').AsString:=Form1.SG2.Cells[2,i];
   Table3.FieldByName('PYTEROK').AsString:=Form1.SG2.Cells[3,i];
   Table3.FieldByName('KO').AsString:=Form1.SG3.Cells[0,i];
   Table3.FieldByName('SB').AsString:=Form1.SG3.Cells[1,i];
   Table3.FieldByName('KY').AsString:=Form1.SG3.Cells[2,i];
   Table3.FieldByName('Y').AsString:=Form1.SG3.Cells[3,i];
   Table3.FieldByName('O').AsString:=Form1.SG3.Cells[4,i];
   Table3.FieldByName('CHO').AsString:=Form1.SG3.Cells[5,i];
   Table3.Post;
     end;
   Inc(i);
  end;
end;
//------------------------------------------------------------------------------
DBLookupComboBox2, а заносится почему то порядковые номера, т.е. 1,2,3... То есть, когда я выбираю название четверти из списка, то у меня должен заноситься номер выбираемой четверти и заноситься в таблицу rezult, Table3, в поле ID_Chetvert. Например, выбрал 1 четверть, в Table3, в поле ID_Chetvert должен занестись номер четверти
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
Matlab. Перевести символьное значение в строку Kras Помощь студентам 2 24.04.2009 18:19
Связь FTP Ксеноцид Работа с сетью в Delphi 4 30.03.2008 04:23
Связь с БД Elena БД в Delphi 4 03.05.2007 16:08