Так как у вас несовсем стандартный случай, то сделайте так
// Поиск дубликата на главной форме в комбобоксах
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
if CheckDublicate('NewRecord', 'Poisk', 'id_boolean', Inttostr(Form1.bool.dbItemID), Form1.Button1.dbGeneralTableId) AND
CheckDublicate('NewRecord', 'Poisk', 'id_teach', Inttostr(Form1.ComboBox2.dbItemID), Form1.Button1.dbGeneralTableId)
then
begin
ShowMessage('Дубликат найден!');
Cancel := True;
end;
end;
как правило новая запись создается на отдельной форме, в вашем случае новая запись всегда создается на той же форме, которая используется и для поиска записей, поэтому необходимо вручную указать для функции CheckDublicate, что проверка дубликата происходит при создании записи, для этого в первом параметре необходимо написать 'NewRecord'
Dmitry.