![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сравнение двух полей, двух разных таблиц [D6, IB6.x]
Gaber © (2002-09-09 14:03:00)Подскажите пожалуйста, как организовать такое сравнние:
Две таблицы, поля одинаковые, как сравнить содержимое?
MsGuns (2002-09-09 21:38:00) [1]Если сравнение нужно зараз по одной записи, то Val © ответил исчерпывающе, если для курсоров (гридов), представлющих множество записей, то лучший метод ИМХО таков:
Курсор 2 (записи табл.2) копируются во врем.таблицу Tmp (например, TBatchMove`ом) Из Tmp удаляются все записи, у которых указанные поля имеют то же значения, что и у Курсора 1, оставшиеся в Tmp и есть НЕСОВПАДАЮЩИЕ. Их можно зачитать куда угодно, подсчитать, вывести для глаз юзера и т.д.
Немного громозко в сырце, но "летает"
Val (2002-09-09 18:35:00) [2]
if Table1.FieldByName("Field1").AsInteger <> Table2.FieldByName("Field2").AsInteger then...
впрочем, такой ответ вам уже дали выше.
Mike Kouzmine (2002-09-09 18:33:00) [3]if t1.fieldbyname("Vasia").Value = t2.fieldbyname("Vasia").Value
Gaber (2002-09-09 18:22:00) [4]Хотелось бы сравнивать не caption а именно поля таблиц, потому что я хотел выводить в качестве caption ответы из 2 таблицы, хотя, а как это будет выглядеть,
if label1.captions = ??????
Val (2002-09-09 17:10:00) [5]>Gaber © (09.09.02 17:06)
ну а в чем проблема, если вы смогли вывести эти данные в кэпшнс, почему не можете сравнить??
Gaber (2002-09-09 17:06:00) [6]Есть две таблицы, я вывожу например в label1.caption, один ответ из одной таблицы, а в другие label ответ из другой таблицы, и кнопки, если нажата кнопка 1 сравнить label1.caption с содержанием поля таблицы 2, или через DBText. Или ComboBox.
Mike Kouzmine (2002-09-09 14:12:00) [7]Ok := true;
for I := 0 to t1.fielsacount - 1 do
begin
if t1.fields[I].fieldkind = fkData then
if t1.field[I].value <> t2.fieldbyname(t1.Fields[i].fieldname).Value then
begin
Ok := False;
Break;
end
Val (2002-09-09 14:05:00) [8]уточните вопрос, слижком уж общий получился.