Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сравнение двух полей, двух разных таблиц [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]

уточните вопрос, слижком уж общий получился.


Наверх

Титульная страница Поиск, карта сайта Написать письмо